|
***************************************************** ARM編譯器中預(yù)定義的宏 ***************************************************** ARM編譯器預(yù)定義了一些宏,這些預(yù)定義宏對應(yīng)一定的數(shù)值,有些預(yù)定義宏沒有對應(yīng)數(shù)值,見下表: _arm _ 使用編譯器armcc,tcc,armcpp,tcpp時 _ARMCC_VERSION Ver 代表編譯器版本號,其格式為: PVtbbb,其中: P為產(chǎn)品編號(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 _ 編譯器針對目標(biāo)系統(tǒng)使用big-endian內(nèi)存模式時 _cplusplus _ 編譯器工作與C++模式時 _CC_ARM _ 返回編譯器的名稱 _DATE_ date 編譯源文件的日期 _embedded_cplusplus 編譯器工作于EC++模式時 _FEATURE_SINGED_CHAE 使用編譯設(shè)置選項-zc時設(shè)置該預(yù)定義宏 _FILE_ name 包含全路徑的當(dāng)前被編譯的源文件名稱 _func_ name 當(dāng)前被編譯的函數(shù)名稱 _LINE_ num 當(dāng)前被編譯的代碼行號名稱 _MOUDLE_ mod 預(yù)定義宏_FILE_的文件名稱部分 _OPTIMISE_SPACE _ 使用編譯選項-OSPACE時 _OPTIMISE_TIME _ 使用編譯選項-Otime時 _pretty_funcname unmangled的當(dāng)前函數(shù)名稱 _sizeof_int 4 sizeof(int),在預(yù)處理表達式中可以使用 _sizeof_long4 sizeof(long),在預(yù)處理表達式中可以使用 _sizeof_ptr 4 sizeof(void*)在預(yù)處理表達式中可以使用 _SOFTFP _ 編譯時使用浮點數(shù) _ _ 在各種編譯器模式下 _STDC_VERSION _ 標(biāo)準(zhǔn)的版本信息 _STRICT_ANSI_ _ 使用編譯選項-STRICT時 _TARGET_ARCH_xx _ xx代表ARM體系編號 _TARGET_CPU_xx _ xx代表CPU編號 _TARGET_FEATURE_ 當(dāng)ARM體系支持指令PLD,LDRD,STRD,MCRR,MRRC時 DOUBLEWORD _ 設(shè)置該定義宏 _TARGET_FEATURE_ 當(dāng)系統(tǒng)中包含DSP乘法處理器時,設(shè)置該 DSPMUL _ 預(yù)定義宏 _TARGET_FEATURE_ 如果目標(biāo)ARM體系支持半字訪問以及有符號的字節(jié)數(shù)據(jù) HALFWORD _ ,設(shè)置該預(yù)定義宏 _TARGET_FEATURE_ 如果目標(biāo)ARM體系支持長乘法指令MULL和 MULTIPLY _ MUAL,設(shè)置該預(yù)定義宏 _TARGET_FEATURE_ 如果目標(biāo)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時,設(shè)置該預(yù)定義宏 _TIME 源文件編譯時間 |