プラグマディレクティブの一覧
#pragmaディレクティブは、C規格によって定義されたものであり、ベンダ固有の拡張の使用方法を規定することにより、ソースコードの移植性を維持するための仕組みです。
プラグマディレクティブは、コンパイラの動作(変数や関数用のメモリの割当て方法、拡張キーワードの許可/禁止、ワーニングメッセージの表示/非表示など)を制御します。
プラグマディレクティブは、コンパイラでは常に有効になっています。
以下の表には、#pragmaプリプロセッサディレクティブまたは_Pragma()プリプロセッサ演算子で使用可能なコンパイラのプラグマディレクティブの一覧を示します。
プラグマディレクティブ | 説明 |
|---|---|
ビットフィールドメンバの順序を設定します。 | |
間接的なコールに対するコールされうる関数の一覧を指定します | |
関数がコールグラフルートであるように指定します。 | |
| C-STAT® 静的解析ガイドを参照してください。 |
| C-STAT® 静的解析ガイドを参照してください。 |
| C-STAT® 静的解析ガイドを参照してください。 |
| C-STAT® 静的解析ガイドを参照してください。 |
変数のアライメントを高く(より厳密に)します。 | |
関数の宣言および定義に対するデフォルトの型とオブジェクトを設定します。 | |
|
|
変数の宣言および定義に対するデフォルトの型とオブジェクトを設定します。 | |
| ポインタ変数の境界をトラッキングする関数を組み込みます。#pragma define_with_boundsを参照してください。 |
| C-RUN用の境界情報を持たない関数のバージョンを定義します。#pragma define_without_bounds』でC-RUNのドキュメントを参照してください。 |
非推奨としてエンティティをマークします。 | |
診断メッセージの重要度を変更します。 | |
診断メッセージの重要度を変更します。 | |
診断メッセージの重要度を変更します。 | |
診断メッセージを無効にします。 | |
診断メッセージの重要度を変更します。 | |
| 直後の関数が境界へのアクセスをチェックしないように指定します。#pragma disable_checkを参照してください。 |
解析の際にエラーについて警告 | |
スタック使用量解析のために関数カテゴリを宣言します。 | |
| 直後の関数について、C-RUN用の境界を持たない追加のエントリの生成を有効化します。#pragma generate_entry_without_boundsを参照してください。 |
インクルードファイルのエイリアスを指定します。 | |
関数のインライン化を制御 | |
IARの言語拡張を制御します。 | |
変数の絶対アドレスを指定し、レジスタに変数を配置するか、または指定のセクションに関数のグループを配置します。 | |
メッセージを出力します。 | |
| 直後の関数ではC-RUN の算術演算チェックを実行しないことを指定します。#pragma no_arith_checksを参照してください。 |
| 直後の関数がC-RUN用の境界チェックを組み込まれないように指定します。#pragma no_boundsを参照してください。 |
直後の関数のスタック保護を無効にします。 | |
変数または関数の宣言もしくは定義にオブジェクト属性を追加します。 | |
ヘッダファイルが1回以上処理されることを回避します。 | |
最適化の種類およびレベルを指定します。 | |
構造体および共用体メンバのアライメントを指定します。 | |
printfスタイルフォーマット文字列の関数の呼び出しに使用されている引数が正しいかどうかを検証します。 | |
パブリックアセンブラのラベルを定義し、それに値を割り当てます。 | |
別のシンボルによって必要とされるシンボルが確実にリンク出力に含まれるようにします。 | |
ランタイムモデル属性をモジュールに追加します。 | |
scanfスタイルフォーマット文字列の関数の呼び出しに使用されている引数が正しいかどうかを検証します。 | |
組み込み関数で使用されるセクション名を宣言します。のエイリアスです。 | |
| このディレクティブは#pragma sectionのエイリアスです。 |
プリフィックスをセクション名に追加します。 | |
直後の関数のスタック保護を強制します。 | |
コンパイラで通常の複雑な数式を使用できるかどうかを指定します。 | |
ソースコードが浮動小数点環境にアクセス可能かどうかを指定します。 | |
コンパイラが浮動小数点式を縮約できるかどうかを指定します。 | |
ソフトウェア割り込み(32 ビットモード)あるいは例外(64 ビットモード)の割り込み数を設定します。 | |
宣言または定義に型属性を追加します。 | |
ループを展開します。 | |
ループ用にNEONベクタ命令の生成を有効または無効にします。 | |
定義を弱くするか、関数または変数に弱いエイリアスを作成します。 |
注記
移植性については、認識されているプラグマディレクティブ (6.10.6)も参照してください。