4.2.2 #pragma指令

拡張言語仕様としてサポートしている#pragma指令を示します。詳細は「4.2.4 拡張言語仕様の使用方法」を参照してください。

表 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 near [(] 関数名 [,...][)]

near関数

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

far関数

#pragma pack

構造体のパッキング

#pragma unpack

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

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

【Professional 版のみ】

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