C99言語における_Pragma演算子でもこれらの拡張機能を使用できます。
コンパイラの出力するセクション名を切り替えます。
なお、記述方法の詳細については、「(1) セクション切り替え記述」を参照してください。
#pragma section [<セクション種別>] [△<変更セクション名>]
<セクション種別>: { P | C | D | B }
|
スタックセクションを作成します。
なお、記述方法の詳細については、「(2) スタックセクション作成記述」を参照してください。
#pragma stacksize {si=<定数> | su=<定数>}
|
割り込み関数を作成します。
なお、記述方法の詳細については、「(3) 割り込み関数作成記述」を参照してください。
#pragma interrupt [(]<関数名>[(<割り込み仕様>[,…])][,…][)]
|
関数をインライン展開します。
なお、記述方法の詳細については、「(4) 関数のインライン展開記述」を参照してください。
#pragma inline [(]<関数名>[,…][)]
|
関数をインライン展開抑止します。
なお、記述方法の詳細については、「(4) 関数のインライン展開記述」を参照してください。
#pragma noinline [(]<関数名>[,…][)]
|
アセンブラ埋め込みインライン関数を作成します。
なお、記述方法の詳細については、「(5) アセンブラ記述関数インライン展開」を参照してください。
#pragma inline_asm[(]<関数名>[,…][)]
|
エントリ関数を指定します。
なお、記述方法の詳細については、「(6) エントリ関数指定」を参照してください。
ビットフィールド並び順を指定します。
なお、記述方法の詳細については、「(7) ビットフィールド並び順指定」を参照してください。
#pragma bit_order [{left | right}]
|
(9) | 構造体/クラスメンバの1バイトアライメント指定 |
構造体/クラスメンバのアライメントを1バイトにします。
なお、記述方法の詳細については、「(8) 構造体/クラスメンバのアライメント指定」を参照してください。
(10) | 構造体/クラスメンバのデフォルトアライメント指定 |
構造体/クラスメンバのアライメントをメンバのアライメント数にします。
なお、記述方法の詳細については、「(8) 構造体/クラスメンバのアライメント指定」を参照してください。
(11) | 構造体/クラスメンバのオプションアライメント指定 |
構造体/クラスメンバのアライメントをオプション指定にします。
なお、記述方法の詳細については、「(8) 構造体/クラスメンバのアライメント指定」を参照してください。
変数を絶対アドレスに割り付けます。
なお、記述方法の詳細については、「(9) 変数の絶対アドレス割り付け指定」を参照してください。
#pragma address [(]<変数名>=<絶対アドレス>[,…][)]
|
初期値のエンディアン指定をします。
なお、記述方法の詳細については、「(10) 初期値のエンディアン指定」を参照してください。
#pragma endian [{big | little}]
|
分岐先を4バイト整合する関数を指定します。
なお、記述方法の詳細については、「(11) 分岐先の命令実行向け整合を行う関数の指定」を参照してください。
#pragma instalign4 [(]<関数名>[(<分岐先の種類>)][,…][)]
|
分岐先を8バイト整合する関数を指定します。
なお、記述方法の詳細については、「(11) 分岐先の命令実行向け整合を行う関数の指定」を参照してください。
#pragma instalign8 [(]<関数名>[(<分岐先の種類>)][,…][)]
|
分岐先を整合しない関数を指定します。
なお、記述方法の詳細については、「(11) 分岐先の命令実行向け整合を行う関数の指定」を参照してください。
#pragma noinstalign [(]<関数名>[,…][)]
|
(17) | スタック破壊検出コードを生成する関数の指定【Professional版のみ】 【V2.04.00以降】 |
スタック破壊検出コードを生成します。
なお、記述方法の詳細については、「(12) スタック破壊検出コードを生成する関数の指定 【Professional版のみ】 【V2.04.00以降】」を参照してください。
#pragma stack_protector [(] 関数名[(num=< 整数値>)] [)]
|
(18) | スタック破壊検出コード生成なし指定【Professional版のみ】 【V2.04.00以降】 |
スタック破壊検出コードを生成しません。
なお、記述方法の詳細については、「(12) スタック破壊検出コードを生成する関数の指定 【Professional版のみ】 【V2.04.00以降】」を参照してください。
#pragma no_stack_protector [(]関数名[)]
|