誰かが#pragmaを理解するのを助けることができますか?#pragmaは何のために使用されていますか?
ifndef TARGET_OS_LINUX
#pragma once
endif
何時、どこから、なぜ、例ですか?
上記の私はリファクタリングしていますいくつかのコードである....
誰かが#pragmaを理解するのを助けることができますか?#pragmaは何のために使用されていますか?
ifndef TARGET_OS_LINUX
#pragma once
endif
何時、どこから、なぜ、例ですか?
上記の私はリファクタリングしていますいくつかのコードである....
#pragma
は、コンパイラ固有の機能のためだけの接頭辞です。
この場合、#pragma once
は、このヘッダーファイルが特定の宛先ファイルに1度だけ含まれることを意味します。それはinclude guardsの必要性を取り除きます。
"ヘッダーガードは、ヘッダーファイルの内容が複数回含まれるのを防ぐコードの一部です。"
etherythingは#pragmaがコンパイラ拡張であるという警告以外は正しいですが、標準ではありません。あなたはそれらを避けるほうが良い。 – f0b0s
それは彼が言ったことではありませんか?コンパイラ固有の機能==非標準コンパイラ拡張 – jalf
@John - コンパイラ固有の機能のリストはどこで入手できますか?これらはGCCとIntel CCによって変わってきます。だから、移植可能なコードのための最高の安全ガードは何ですか? – user147502