悪名高い「静的初期化順序の大失敗」 (SIOF) は、C プログラム内の複数のファイルに依存する静的変数が含まれている場合に発生します。初期化のためにお互いに。次の例を考えてみましょう:
// file1.cpp extern int y; int x = y + 1; // file2.cpp extern int x; int y = x + 1;
質問:
file1.cpp のコンパイル中に、コンパイラは次のことを行います:
file2.cpp のコンパイル中に、コンパイラは次の処理を行います:
file1.o と file2.o をリンクするときに、file2.o が最初に初期化されると、次の処理が行われます:
答え:
C 標準 (3.6.2「非ローカルの初期化」による)オブジェクト"):
説明:
以上がC での静的初期化命令の大失敗中に何が起こるか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。