2017-01-01から1年間の記事一覧

glibc でバックトレースを表示する方法(その2)

C/C++で関数を書きました.デバッグに超便利なので,まるごと公開します.backtraceを取得して,FILE* に出力します.出力時の書式は format の引数で変更できます.CおよびC++両方に対応しています. C++のシンボル名は,自動で demangle(デマングル)します…

Linux で cab ファイルを展開する

拡張子がcabのファイル(Microsoftがファイルを配布するときに使う形式のファイル)を,Linuxで開くには cabextract というパッケージを使う パッケージのインストールは,debianやubuntuなら $ sudo apt install cabextract 使い方は $ cabextract cabファイ…

ログイン時のメッセージを非表示にする方法

コンソールからログインした場合や,リモートからsshで接続した際に表示されるメッセージを消すには $ touch ~/.hushlogin を実行して,~/.hushlogin というファイルを作れば良い.中身は空で良い詳細は man 1 loing 参照このメッセージは,ログインメッセー…

debian で無料のSSL/TLS証明書(Let's Encrypt) を使う

昔は,まともなSSL/TLSの証明書*1を取得するには,有料サービスに毎年数万円を支払う必要がありました.また証明書の申請には数日かかります.一度更新手続きや支払いを忘れると,数日間証明書が失効し,その間サービスがが止まってしまう,という恐ろしい事…

macOS に Tex Live 2017をインストールする

macOS Sierra の TeX環境を texlive2017 に更新したので手順をまとめます.この記事は以下のエントリを macOS Sierra と Tex Live 2017 に合わせて更新・加筆したものです. http://d.hatena.ne.jp/pyopyopyo/20161106 http://d.hatena.ne.jp/pyopyopyo/2015…

ポインタからクラス名を調べる方法

c++

c++で、ポインタからクラス名や型名を調べる処理は、以下の2ステップで実現できます typeid(obj).name() で型名の文字列を取る abi::__cxa_demangle() で demangle する サンプルコードは以下の通り #include <typeinfo> #include <cxxabi.h> #include <iostream> int main() { class MyCl</iostream></cxxabi.h></typeinfo>…

日本語フォルダ名を英語にする方法

デスクトップ,ダウンロード,公開,画像,ビデオのようなディレクトリ名を英語名に変更するには以下のコマンドを実行する $ LANG=C xdg-user-dirs-update --force 設定ファイルは ~/.config/user-dirs.dirs ~/.config/user-dirs.locale システムの既定値(…