您好,  [请登录] [QQ登录]  [支付宝登录[免费注册]

商品分类

分享到: 百度搜藏 搜狐微博 新浪微博 腾讯微博 QQ收藏 人人网 Facebook Twitter

ARM底子知识八

发布日期:2011-05-06

*****************************************************

ARM编译器中预定义的宏

*****************************************************
ARM编译器预定义了一些宏,这些预定义宏映射肯定的数值,有些预定义宏没有映射数值,见下表:

_arm _ 利用编译器armcc,tcc,armcpp,tcpp时

_ARMCC_VERSION Ver 代表编译器版本号,其格局为:
PVtbbb,此中:
P为产品编号(1代表ADS)
V为副版本号(1代表1.1)
T为补丁版本号(0代表1.1)
bbb为build号(比如650)

_APCS_INTERWORK _ 利用编译选项-apcs/interwork时

_APCS_ROPI _ 利用编译选项apcs/ropi时

_RWPI _ 利用编译选项-apcs/rwpi时

_APCS_SWST _ 利用编译选项-apcs/swst时

_BIG_ENDIAN _ 编译器针对目标体系利用big-endian内存模式时

_cplusplus _ 编译器事变与C++模式时

_CC_ARM _ 返回编译器的名称

_DATE_ date 编译源文件的日期

_embedded_cplusplus 编译器事变于EC++模式时

_FEATURE_SINGED_CHAE 利用编译设置选项-zc时设置该预定义宏

_FILE_ name 包括全路径确当前被编译的源文件名称

_func_ name 当前被编译的函数名称

_LINE_ num 当前被编译的代码行号名称

_MOUDLE_ mod 预定义宏_FILE_的文件名称部分

_OPTIMISE_SPACE _ 利用编译选项-OSPACE时

_OPTIMISE_TIME _ 利用编译选项-Otime时

_pretty_func name unmangled确当前函数名称

_sizeof_int 4 sizeof(int),在预处理惩罚表达式中可以利用

_sizeof_long 4 sizeof(long),在预处理惩罚表达式中可以利用

_sizeof_ptr 4 sizeof(void*)在预处理惩罚表达式中可以利用

_SOFTFP _ 编译时利用浮点数

_ _ 在种种编译器模式下

_STDC_VERSION _ 标准的版本信息

_STRICT_ANSI_ _ 利用编译选项-STRICT时

_TARGET_ARCH_xx _ xx代表ARM体系编号

_TARGET_CPU_xx _ xx代表CPU编号

_TARGET_FEATURE_ 当ARM体系支持指令PLD,LDRD,STRD,MCRR,MRRC时
DOUBLEWORD _ 设置该定义宏

_TARGET_FEATURE_ 当体系中包括DSP乘法处理惩罚器时,设置该
DSPMUL _ 预定义宏

_TARGET_FEATURE_ 要是目标ARM体系支持半字访问以及有标记的字节数据
HALFWORD _ ,设置该预定义宏

_TARGET_FEATURE_ 要是目标ARM体系支持长乘法指令MULL和
MULTIPLY _ MUAL,设置该预定义宏

_TARGET_FEATURE_ 要是目标ARM体系支持THUMB指令
THUMB _

_TARGET_FPU_xx _ 表现FPU选项,大概取值如下所示:
_TARGET_FPU_VFP
_TARGET_FPU_FPA
_TARGET_FPU_SOFTVFP
_TARGET_FPU_SOFTVFP_VFP
_TARGET_FPU_SOFTFPA
_TARGET_FPU_NONE

_thumb _ 编译器为tcc或tcpp时,设置该预定义宏

_TIME 源文件编译时间