原创 ARM基础知识连载之八

2008-5-22 09:38 1695 3 3 分类: MCU/ 嵌入式
 

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


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                              源文件编译时间

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
3
关闭 站长推荐上一条 /3 下一条