タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

c++とc++11とwindowsに関するMonMonMonのブックマーク (1)

  • VC++ 2015で作ったDLLをWindows XPで動かすと最悪死ぬ - イグトランスの頭の中

    Visual C++ 2015でコンパイルしたプログラムを試していたところ、Windows XPでプロセスが問答無用で死ぬ現象に見舞われました。いろいろ試してみた結果、およそ原因・回避方法が分かりましたので、ここに書き記します。 条件・症状次の条件をすべて満たす場合に注意が必要です。 Visual C++ 2015でDLLをビルドするそのDLLはLoadLibraryなどで実行時に読み込まれるWindows XPで実行されるこのとき、次の新機能のいずれも使ってはなりません。死にます。 thread_local関数内でのstatic変数死ぬというのは、プロセスの強制終了のことです。 なお、関数内でのstatic変数のVC++ 2015の新機能とは、初期化処理が複数スレッド対応(コンパイラが適切に排他制御するコードを出力する)になるという、C++11仕様への対応です。参考: static変数初

    VC++ 2015で作ったDLLをWindows XPで動かすと最悪死ぬ - イグトランスの頭の中
  • 1