エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
g++ の -fthreadsafe-statics ってオプション知ってます? - memologue
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
g++ の -fthreadsafe-statics ってオプション知ってます? - memologue
古来より、関数スコープの静的なオブジェクトを作るのは危険 void foo() { static CBar bar; // こんな... 古来より、関数スコープの静的なオブジェクトを作るのは危険 void foo() { static CBar bar; // こんなの とされています。foo()が初めて呼ばれたタイミングでbarのコンストラクタが走るわけですが(C++規格でそう決まっている)、foo()の初回呼び出しが2つのスレッドでほぼ同時に行われると、barのコンストラクタが複数回走ってしまったりと、不可解な動作をすることが知られています。 参考サイト: http://blogs.msdn.com/oldnewthing/archive/2004/03/08/85901.aspx (引用するの何度目だろ) ところが、最近のg++には -fthreadsafe-statics っていうオプションがあって、この初回のコンストラクタ呼びをスレッドセーフに行ってくれるようになりました。手元のgcc3.4.3ではデフォルトでon