インテル® C++ コンパイラー 16.0 ユーザー・リファレンス・ガイド
インテル® C++ コンパイラーは、他のコンパイラーとの互換性を保持するため、次のプラグマをサポートします。
次のプラグマは、Microsoft* コンパイラーと互換性があります。各プラグマに関する詳細は、Microsoft* Developer Network (http://msdn.microsoft.com) を参照してください。
プラグマ |
説明 |
---|---|
alloc_text |
指定された関数定義のコードセクションの名前を指定します。 |
auto_inline |
off で指定された範囲内で定義されたすべての関数を、自動インライン展開の候補とみなされる関数から除外します。 |
bss_seg |
.obj ファイル内の初期化されていない変数が格納されているセグメントをコンパイラーに示します。 |
check_stack |
on 引数は後に続く関数のスタックチェックを有効にすることを示し、off 引数は後に続く関数のスタックチェックを無効にすることを示します。 |
code_seg |
関数が割り当てられるコードセクションを指定します。 |
comment |
オブジェクト・ファイルまたは実行ファイルにコメントを書き込みます。 |
component |
ソースファイルのブラウザー情報や依存情報の収集を制御します。 |
conform |
/Zc:forScope コンパイラー・オプションのランタイムの動作を指定します。 |
const_seg |
.obj ファイル内に格納されている関数のセグメントをコンパイラーに示します。 |
data_seg |
初期化されたデータのデフォルトのセクションを指定します。 |
deprecated |
関数、型、その他の識別子が将来のリリースではサポートされなくなること、または、関数、型、その他の識別子を使用すべきではないことを示します。 |
fenv_access |
プログラムがステータスフラグをチェックしたり、デフォルトではない制御モードで実行することを許可します。 |
float_control |
関数の浮動小数点動作を指定します。 |
fp_contract |
浮動小数点計算結果を省略するかどうかを指示します。 |
loop |
自動ベクトル化で考慮されるループコードと除外されるループコードを制御します。 |
init_seg |
翻訳単位の C++ 初期化コードをセクションに含めます。 |
message |
指定された文字列を標準出力デバイス (stdout) に表示します。 |
optimize |
プラグマの後の関数に対して、または次の最適化プラグマに到達するまで最適化を行うかどうか指定します。Microsoft* の同じプラグマを部分的にサポートするよう実装されています。インテル® C++ コンパイラーの実装については、「optimize」を参照してください。 |
pointers_to_members |
クラスを定義する前にそのメンバーへのポインターを宣言できるようし、そのポインターを使用してポインターのサイズおよびポインターの解釈に必要なコードを制御するかどうかを指定します。 |
pop_macro |
指定されたマクロの値を、スタックの一番上の値に設定します。 |
push_macro |
指定されたマクロの値を、スタックの一番上に保存します。 |
region/endregion |
アウトライン機能を使用して展開および縮約する Microsoft* Visual Studio* コードエディターのコードセグメントを指定します。 |
section |
.obj ファイル内にセクションを作成します。定義されたセクションは、コンパイルが終わるまで有効です。 |
vtordisp |
on 引数は hidden の vtordisp メンバーの生成を有効にし、off 引数は無効にします。 push 引数は現在の vtordisp 設定を内部コンパイラー・スタックにプッシュします。pop 引数はコンパイラー・スタックのトップからレコードをポップし、ポップした vtordisp の値を復元します。 |
warning |
コンパイラーの警告メッセージの動作を設定します。 |
weak |
入力されるシンボルをウィークシンボルとして宣言します。 |
プラグマ |
説明 |
---|---|
アトミックに実行する必要がある計算を指定します。 |
|
チーム内のすべてのスレッドが到着するまで各スレッドが待機しなければならないコード位置を指定します。 |
|
指定した種類の最内領域の取り消し要求を行います。このプラグマに到達したタスクは、取り消された構文の最後に進みます。 |
|
暗黙的または明示的なタスクが、指定された節の最内領域で取り消し要求があったかどうかをチェックするポイントを定義します。この構文は、スレッド間またはタスク間の同期は実装していません。 |
|
一度に 1 つのスレッドのみアクセスできるコードブロックを指定します。 |
|
reduction 節でリダクション演算子として利用可能なユーザー定義のリダクション (UDR) 関数 (リダクション識別子) を宣言します。 |
|
SIMD ループから一度の呼び出しで、SIMD (single instruction-multiple data) 命令を使用して複数の引数を処理できる関数バージョンを作成します。 |
|
target 領域から呼び出せる関数のデバイス固有バージョンを作成します。このプラグマは、インテル® MIC アーキテクチャーにのみ適用されます。 |
|
1 つ以上のループの反復をすべてのスレッドチームのマスタースレッド間で共有するかどうかを指定します。 |
|
複数のチームのメンバーである複数のスレッドによって同時に実行できるループを指定します。 |
|
複数のチームのメンバーである複数のスレッドによって並列に実行されるループを指定します。SIMD 命令を使用して同時に実行されます。 |
|
チーム領域のマスタースレッド間で分散されるループを指定します。SIMD 命令を使用して同時に実行されます。 |
|
スレッドから見たメモリーの状態と実際のメモリーの整合性が保たれるポイントを識別します。 |
|
並列ループを指定します。ループの各反復は、チーム内の 1 つのスレッドにより実行されます。 |
|
SIMD (Single Instruction, Multiple Data) 命令を使用して同時に実行可能なループの開始位置を指定します。ループの各反復は、チーム内の 1 つのスレッドにより実行されます。 |
|
チームのマスタースレッドで 1 回だけ実行するコードブロックの開始位置を指定します。 |
|
ループの反復順に実行されるワークシェア・ループのコードブロックを指定します。 |
|
スレッドのチームにより並列に実行される構造化ブロックを指定します。 |
|
関連付けられた 1 つ以上のループを含む並列構造を指定します。 |
|
SIMD (Single Instruction, Multiple Data) 命令を使用して実行するループを含む並列領域を指定します。 |
|
1 つの sections 構造を含む parallel 構造を指定します。 |
|
チーム内のスレッド間で分配される構造化ブロック領域を定義します。 |
|
ループを SIMD (Single Instruction, Multiple Data) 命令を使用して同時に実行されるループに変換します。 |
|
チーム内の 1 つのスレッドにより 1 回だけ実行するコードブロックの開始位置を指定します。 |
|
デバイスデータ環境を作成して同じデバイスで構文を実行します。このプラグマは、インテル® MIC アーキテクチャーおよびインテル® グラフィックス・テクノロジーにのみ適用されます。 |
|
ホストからターゲットデバイスへ変数をマッピングして、デバイスのデータ環境を作成します。このプラグマは、インテル® MIC アーキテクチャーにのみ適用されます。 |
|
デバイスデータ環境を作成して同じデバイスで構文を実行します。また、スレッドチームを複数作成し、各チームのマスタースレッドが構造化ブロックを実行します。このプラグマは、インテル® MIC アーキテクチャーにのみ適用されます。 |
|
デバイスデータ環境を作成して同じデバイスで構文を実行します。また、teams 構造により生成されるすべてのスレッドチームのマスタースレッド間で、ループ反復を共有するように指定します。このプラグマは、インテル® MIC アーキテクチャーにのみ適用されます。 |
|
デバイスデータ環境を作成して同じデバイスで構文を実行します。また、teams 構造により生成される複数のチームのメンバーである複数のスレッド間で、ループが並列に実行されるように指定します。このプラグマは、インテル® MIC アーキテクチャーにのみ適用されます。 |
|
デバイスデータ環境を作成して同じデバイスで構文を実行します。また、teams 構造により生成される複数のチームのメンバーである複数のスレッド間で、ループが並列に実行されるように指定します。ループはチーム全体に分散され、SIMD 命令を使用して同時に実行されます。このプラグマは、インテル® MIC アーキテクチャーにのみ適用されます。 |
|
デバイスデータ環境を作成して同じデバイスで構文を実行します。また、teams 構造により生成されるすべてのスレッドチームのマスタースレッド間で、ループ反復を共有するように指定します。SIMD 命令を使用して同時に実行されます。このプラグマは、インテル® MIC アーキテクチャーにのみ適用されます。 |
|
プラグマで指定されているモーション節に応じて、デバイスとホスト間でデバイスのデータ環境の項目の整合性を保持します。このプラグマは、インテル® MIC アーキテクチャーにのみ適用されます。 |
|
実行が遅延される可能性があるコードブロックの開始位置を指定します。 |
|
囲まれたタスクと派生タスクがすべて完了するまでプログラムを待機させます。 |
|
現在のタスクが開始してから、生成された子タスクの完了まで待機するように指定します。 |
|
現在のタスクを中断し、別のタスクの実行を優先することを許可します。 |
|
スレッドチームを複数作成し、各チームのマスタースレッドの構造化ブロックを実行します。 |
|
スレッドチームを複数作成し、各チームのマスタースレッドの構造化ブロックを実行します。また、teams 構造により生成されるすべてのスレッドチームのマスタースレッド間で、ループ反復を共有するように指定します。 |
|
スレッドチームを複数作成し、各チームのマスタースレッドの構造化ブロックを実行します。また、複数のチームのメンバーである複数のスレッドによって同時に実行できるループを指定します。 |
|
スレッドチームを複数作成し、各チームのマスタースレッドの構造化ブロックを実行します。また、複数のチームのメンバーである複数のスレッドによって同時に実行できるループを指定します。ループはチーム領域のマスタースレッド間で分散され、SIMD 命令を使用して同時に実行されます。 |
|
スレッドチームを複数作成し、各チームのマスタースレッドの構造化ブロックを実行します。また、チーム領域のマスタースレッド間で分散されるループを指定します。ループは SIMD 命令を使用して同時に実行されます。 |
|
各スレッドにプライベートとして割り当てられるグローバル変数のリストを指定します。 |
次のプラグマは、その他のコンパイラーと互換性があります。各プラグマに関する詳細は、それぞれのコンパイラーのドキュメントを参照してください。
プラグマ |
説明 |
---|---|
include_directory |
HP 互換プラグマ。#include ファイルの場所を検索するリストに文字列引数を追加します。 |
poison |
GCC 互換プラグマ。プログラムから削除する識別子にラベル付けします。"poisoned" 識別子をコンパイルするとエラーが発生します。#pragma POISON もサポートされています。 |
options |
GCC 互換プラグマ。構造内のフィールドのアライメントを設定します。 |
weak |
GCC 互換プラグマ。入力されるシンボルをウィークシンボルとして宣言します。 |