プリプロセッサ指示文
構文:
#pragma option [ = value ]
または
#pragma push ( option [, value ] )
または
#pragma pop ( option )
パラメタ:
オプション(option) で使う値と、関連する
値(value):
オプション |
値 |
記述 |
msbitfields |
0 |
gcc と互換性をもつ bitfields を使います。(デフォルト) |
-1 (または、何か他の 0 以外の値) |
Microsoft C コンパイラの中で使われるものと互換性をもつ bitfields を使います。 |
once |
N/A |
pragma が現われるソース・ファイルを、まるでそれが、 #include once ... で含まれていたように、ふるまわせます。 |
constness |
0 |
プラグマが表示されているソースファイルで 'CONST修飾子の破棄' 警告を無効にします。 |
-1 (または、何か他の 0 以外の値) |
プラグマが表示されているソースファイルで 'CONST修飾子の破棄' 警告を有効にします。 |
value が与えられない場合、コンパイラーは
-1 (
TRUE) を仮定します。
記述:
ソースコードの中に、コンパイラ・オプションの設定を許します。
Push は、スタック上に option の現在値を保存し、次に、それに新しい value (または -1) を割り当てます。
Pop は、その前の値に option を戻し、スタックからそれを取り除きます。
このメカニズムは、オプションが、ソース・コードのある部分のために変更されることを、可能にします。コンテキストによって使用されるセッティングにかかわらずです。これは #include ヘッダー・ファイルの内部で、特に有用です。
constness プラグマは、fbcコンパイラをテストするために追加されました。 これは信頼されるべきではないで、将来削除されるでしょう。
例:
'' 現在の設定を保存し、次に、MSVC-互換の bitfields を有効にします
#pragma push(msbitfields)
'' ここで MS コンパチブル bitfields を必要とする何かをします
'' 最初の設定を回復します
#pragma pop(msbitfields)
QBからの違い:
参照: