2005-12-15から1日間の記事一覧

g++ の -fthreadsafe-statics ってオプション知ってます?

C++

古来より、関数スコープの静的なオブジェクトを作るのは危険 void foo() { static CBar bar; // こんなの とされています。foo()が初めて呼ばれたタイミングでbarのコンストラクタが走るわけですが(C++規格でそう決まっている)、foo()の初回呼び出しが2つの…

C++例外がCのコード中を通過するとクラッシュする件

C++

woさんに教えていただいた件 (http://d.hatena.ne.jp/w_o/20051203#p3)、遅くなりましたが、現象確認しました。次のコードで再現しますね。 $ cat a.cpp extern "C" { void b(); void a() { throw 123; } } int main() { try { b(); } catch(...) {} } $ cat…