プリプロセッサー指示文
構文:
#pragma option [ = value ]
Or
#pragma push ( option [, value ] )
Or
#pragma pop ( option )
パラメタ:
オプション に指定可能な値と、関連する
値:
オプション |
値 |
説明 |
msbitfields |
false |
gcc と互換性のあるビットフィールドを使う(デフォルト) |
msbitfields |
true |
Microsoft C コンパイラで使われているものと互換性のあるビットフィールドを使う |
once |
N/A |
プラグマが表示されるソースファイルが、あたかも #include once ... でインクルードされたかのように動作します |
constness |
false |
現在のソースで 'CONST qualifier discarded' 警告を無効にします |
constness |
true |
現在のソースで 'CONST qualifier discarded' 警告を有効にします |
lookup108 |
false |
修飾されていないシンボル名には通常のシンボル検索を使う |
lookup108 |
true |
修飾されていないシンボル名には fbc-1.08.x 以前のシンボル検索を使う |
private |
false |
ソース内の手続きをパブリック・リンケージを備えた別個のモジュールとしてコンパイルできるようにする |
private |
true |
ソース内の手続きを、必要なリンケージを変更するためのオーバーヘッドを最小限に抑えながら、プライベート インクルードとしてコンパイルできるようにする |
値 が指定されていない場合、コンパイラーは
True (
-1) を想定します。
False の代わりにゼロ (
0) の値を使えます。
True の代わりにゼロ以外(たとえば
-1)の値を使えます。
説明:
ソースコード内でコンパイラ・オプションを設定できます。
Push は、option の現在の値をスタックに保存してから、新しい value (or True) をそれに割り当てます。
Pop は option を以前の値に復元し、スタックから削除します。
この機構により、文脈で使われている設定に関係なく、ソースコードの特定の部分のオプションを変更できます。これは、特に #include ヘッダーファイル内で役立ちます。
constness プラグマは、fbc コンパイラをテストするために追加されました。
将来的には削除される予定ですので、当てにしないでください。
例:
'' MSVC-compatible bitfields: save the current setting and then enable them
#pragma push(msbitfields)
'' do something that requires MS-compatible bitfields here
'' restore original setting
#pragma pop(msbitfields)
バージョン:
- #pragma private はバージョン 1.20.0 で追加
- #pragma lookup108 はバージョン 1.09.0 で追加され、次のマイナーリリースで削除される予定です。
QB との違い:
参照: