以下にリストしたプラグマは、汎用プログラミングで使用可能です。特に断りのない限り、プラグマは、C プログラムと C++ プログラムの両方で使用できます。
言語アプリケーション | #pragma | 説明 | |
---|---|---|---|
![]() ![]() | #pragma align | 構造体内のデータ項目の位置を合わせる。 | |
![]() | #pragma alloca | 関数 alloca(size_t size) のインライン・バージョンを提供する。 | |
![]() ![]() | #pragma altivec_vrsave | 関数 prolog および epilog にコードを追加して、 VRSAVE レジスターを保守する。 | |
![]() ![]() | #pragma block_loop | ループ・ネストの特定ループ用のブロック化ループを作成するようにコンパイラーに指示を出す。 | |
![]() ![]() | #pragma chars | 文字データの符号型を設定する。 | |
![]() ![]() | #pragma comment | オブジェクト・ファイルにコメントを入れる。 | |
![]() ![]() | #pragma complexgcc | 複雑な数学関数を呼び出すときのパラメーターの受け渡し方法をコンパイラーに指示する。 | |
![]() | #pragma define | クラスのオブジェクトを実際に定義することなく、テンプレート・クラスの定義を強制的に行う。 | |
![]() ![]() | #pragma disjoint | その使用スコープ内で互いに別名ではない ID をリストする。 | |
![]() | #pragma do_not_instantiate | 指定されたテンプレート宣言のインスタンス化を抑制する。 | |
![]() ![]() | #pragma enum | 後続の enum 変数のサイズを指定する。 | |
![]() ![]() | #pragma execution_frequency | 実行頻度が非常に高いか非常に低いと予期されるプログラム・ソース・コードにマークを付ける。 | |
![]() | #pragma hashome | 指定されたクラスに IsHome プラグマで指定されるホーム・モジュールがあることをコンパイラーに通知する。 | |
![]() ![]() | #pragma ibm snapshot | ユーザーはこれを使用して、ブレークポイントを設定できるロケーションを指定し、またプログラム実行がそのロケーションに達したときに検査できる変数のリストを定義することができる。 | |
![]() | #pragma implementation | プラグマが入っているインクルード・ファイル内のテンプレート宣言に対応する関数テンプレート定義を含むファイルの名前を、コンパイラーに伝える。 | |
![]() ![]() | #pragma info | info(...) コンパイラー・オプションによって生成された診断メッセージを制御する。 | |
![]() | #pragma instantiate | 指定されたテンプレート宣言の即時インスタンス化が生じる。 | |
![]() | #pragma ishome | 指定されたクラスのホーム・モジュールが現行のコンパイル単位であることをコンパイラーに通知する。 | |
![]() ![]() | #pragma isolated_call | そのパラメーターによって暗黙指定される副次作用以外に、副次作用がない、または依存しない関数にマークを付ける。 | |
![]() | #pragma langlvl | コンパイル用の C または C++ の言語レベルを選択する。 | |
![]() ![]() | #pragma leaves | 関数名を取って、関数の呼び出し後に命令に戻らない関数を指定する。 | |
![]() ![]() | #pragma loop_id | ブロックにスコープ固有の ID でマークを付ける。 | |
![]() ![]() | #pragma map | ID に対するすべてのリファレンスが新しい名前に変換されることをコンパイラーに通知する。 | |
![]() ![]() | #pragma mc_func | マシン・インストラクションの短いシーケンスを含んだ関数を定義できるようにする。 | |
![]() ![]() | #pragma nosimd | このディレクティブのすぐ後に続く for ループで VMX (Vector Multimedia Extension) 命令を生成しない ようにコンパイラーに指示する。 | |
![]() ![]() | #pragma novector | 次のループを自動的にベクトル化しない ようにコンパイラーに指示する。 | |
![]() ![]() | #pragma options | 使用しているソース・プログラムのコンパイラーへのオプションを指定する。 | |
![]() ![]() | #pragma option_override | 指定された関数に対して代替最適化オプションを指定する。 | |
![]() ![]() | #pragma pack | このプラグマの後に続く構造体のメンバーに適用される現行の位置合わせ規則を変更する。 | |
![]() | #pragma priority | 静的オブジェクトが初期設定される順序を指定する。 | |
![]() ![]() | #pragma reachable | 到達可能とマークされたルーチンへの呼び出し後のポイントがいくつかの認識されないロケーションからの分岐のターゲットとなれることを宣言する。 | |
![]() ![]() | #pragma reg_killed_by | 指定された関数によって値が破壊されるレジスターを指定する。これは #pragma mc_func と一緒に使用する必要があります。 | |
![]() | #pragma report | 特定のメッセージの生成を管理する。 | |
![]() ![]() | #pragma stream_unroll | ループに含まれるストリームを複数のストリームに分割する。 | |
![]() ![]() | #pragma strings | ストリングのストレージ型を設定する。 | |
![]() ![]() | #pragma unroll | プログラムの最内部および最外部のループをアンロールする。これにより、プログラムのパフォーマンスを向上させることができます。 | |
![]() ![]() | #pragma unrollandfuse | ネストされた for ループ上で、アンロールおよびフューズ操作を試行するようにコンパイラーに指示する。これにより、プログラムのパフォーマンスを向上させることができます。 | |
![]() ![]() | #pragma weak | リンク・エディターがシンボルの定義を見つけなかった場合、またはリンク時に複数定義されたシンボルが見つかった場合に、リンク・エディターがエラー・メッセージを出さないようにする。 |