4.2.2 #pragma指令

次に,拡張言語仕様としてサポートしている#pragma指令を示します。

表 4.14

サポートしている#pragma指令

#pragma指令

内容

#pragma interrupt [(]関数名[(割り込み仕様 [,...])][)]

ハードウェア割り込みハンドラ

#pragma interrupt_brk [(]関数名[(割り込み仕様 [,...])][)]

ソフトウェア割り込みハンドラ

#pragma section [ セクション種別][ 変更セクション名]

コンパイラ出力セクション名の変更

#pragma rtos_interrupt [(]関数名[(vect=アドレス)][)]

RTOS用割り込みハンドラ

#pragma rtos_task [(]タスク関数名 [ ,...][)]

RTOS用タスク関数

#pragma inline [(]関数名 [,...][)]

関数のインライン展開

#pragma noinline [(]関数名 [,...][)]

#pragma inline_asm [(]関数名 [,...][)]

アセンブラ命令の記述

#pragma address [(]変数名=絶対アドレス[,...][)]

絶対番地配置指定

#pragma saddr [(] 変数名 [,...][)]

saddr領域利用

#pragma callt [(] 関数名 [,...][)]

callt関数

#pragma stack_protector [(] 関数名 [(num=数値)][)]

スタック破壊検出コードの生成

【Professional 版のみ】

#pragma no_stack_protector [(] 関数名 [)]