#pragma Once Include Guard のプラットフォーム互換性に関する懸念
質問:
は #プラグマは、特にターゲットを指定する場合に、クロスプラットフォーム互換性の問題を引き起こすことなく、信頼できるインクルード ガードとして使用されると便利です。 Windows 以外のプラットフォームですか?
詳細:
一部のコンパイラは、#pragma Once を使用するとコンパイルを最適化し、速度が向上する可能性があります。ただし、これは非標準ディレクティブであるため、クロスプラットフォームの互換性が損なわれる可能性があります。
答え:
#pragma Once は確かにコンパイル速度を向上させることができますが、重大な欠点があります:
#pragma Once欠点:
同じファイルが複数の場所に存在する場合 (ビルド システム ファイルのコピーなどにより)、コンパイラはこれらのインスタンスを一意のファイルとして解釈しませんが、一意のファイルとして解釈しません。これにより、予期しないコンパイル エラーが発生する可能性があります。
以上が#pragma かつては信頼性の高いクロスプラットフォーム インクルード ガードでしたか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。