Pragma指令告诉编译器的预处理器如何处理函数。C55x C编译器支持如下pragma指令:
CODE_SECTION
C54X_CALL
C54X_FAR_CALL
DATA_ALIGN
DATA_SECTION
FUNC_CANNOT_INLINE
FUNC_EXT_CALLED
FUNC_IS_PURE
FUNC_IS_SYSTEM
FUNC_NEVER_RETURNS
FUNC_NO_GLOBAL_ASG
FUNC_NO_IND_ASG
MUST_ITERATE
UNROLL
必须在函数体外确定pragma,且必须出现在任何声明、定义或对函数和符号引用之前。否则,编译器会输出警告。
下面简单介绍CODE_SECTION和DATA_SECTION的用法。
CODE_SECTION用于把代码配置到命名的代码段,语法为:
#pragma CODE_SECTION(func_name,”section_name”)
其中,func_name是C函数的名称,它将代码配置到由section_name定义的程序段中。
DATA_SECTION用于把数据配置到命名的数据段,语法为:
#pragma DATA_SECTION(var_name,”section_name”)
其中,var_name是包含在C函数内的变量名称,它将数据配置到由section_name定义的数据段中。
关于Pragma指令的详细使用方法,请参阅文献[SPRU281C,TMS320C55x Optimizing C/C++ Compiler User’s Guide (Rev. F)]。