2009-08-11 12 views

答えて

21

#pragmaは、コンパイラ固有の機能のためだけの接頭辞です。

この場合、#pragma onceは、このヘッダーファイルが特定の宛先ファイルに1度だけ含まれることを意味します。それはinclude guardsの必要性を取り除きます。

+1

etherythingは#pragmaがコンパイラ拡張であるという警告以外は正しいですが、標準ではありません。あなたはそれらを避けるほうが良い。 – f0b0s

+1

それは彼が言ったことではありませんか?コンパイラ固有の機能==非標準コンパイラ拡張 – jalf

+0

@John - コンパイラ固有の機能のリストはどこで入手できますか?これらはGCCとIntel CCによって変わってきます。だから、移植可能なコードのための最高の安全ガードは何ですか? – user147502

5
  • これはヘッダーガードです。このファイルは1回だけ含まれます。
  • コンパイル時に
  • なぜ - ダブルを含まないようにするか。

"ヘッダーガードは、ヘッダーファイルの内容が複数回含まれるのを防ぐコードの一部です。"

関連する問題