汎用プラグマ

以下にリストしたプラグマは、汎用プログラミングで使用可能です。特に断りのない限り、プラグマは、C プログラムと C++ プログラムの両方で使用できます。

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

関連タスク

プログラム・ソース・ファイル内のコンパイラー・オプションの指定 IBM Copyright 2003