您的位置: 嵌入式在线 > 技术中心 > ARM > ARM基础知识八

ARM基础知识八

2007-01-26      嵌入式在线      收藏 | 打印
*****************************************************

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


本文来源:21control    作者:
热点资讯(一周点击率)
热评博文
评一评已有 0 位网友对此文发表了看法。  我也来评一下

验证码:  看不清?换一张

 

快乐大本营

    无线时代来临,移动产业生态系统将发生一些根本变化。今日头条推荐“芯片是嵌入式4G技术的关键 产业生态系统将发生变化”。

    想了解嵌入式开发工具的市场情况吗?先来体验下我们的在线调查吧!填写调查问卷

工程师之星
朱礼昆
电子信息工程专业,擅长硬件编程
  • 胡菲菲  技术专长:嵌入式系统linux
  • 柳如峰  技术专长:模电,电源
热门招聘
论坛热贴