|
***************************************************** ARM編譯器中預(yù)定義的宏 ***************************************************** ARM編譯器預(yù)定義了一些宏,這些預(yù)定義宏對應(yīng)一定的數(shù)值,有些預(yù)定義宏沒有對應(yīng)數(shù)值,見下表: _arm _ 使用編譯器armcc,tcc,armcpp,tcpp時(shí) _ARMCC_VERSION Ver 代表編譯器版本號,其格式為: PVtbbb,其中: P為產(chǎn)品編號(1代表ADS) V為副版本號(1代表1.1) T為補(bǔ)丁版本號(0代表1.1) bbb為build號(比如650) _APCS_INTERWORK _ 使用編譯選項(xiàng)-apcs/interwork時(shí) _APCS_ROPI _ 使用編譯選項(xiàng)apcs/ropi時(shí) _RWPI _ 使用編譯選項(xiàng)-apcs/rwpi時(shí) _APCS_SWST _ 使用編譯選項(xiàng)-apcs/swst時(shí) _BIG_ENDIAN _ 編譯器針對目標(biāo)系統(tǒng)使用big-endian內(nèi)存模式時(shí) _cplusplus _ 編譯器工作與C++模式時(shí) _CC_ARM _ 返回編譯器的名稱 _DATE_ date 編譯源文件的日期 _embedded_cplusplus 編譯器工作于EC++模式時(shí) _FEATURE_SINGED_CHAE 使用編譯設(shè)置選項(xiàng)-zc時(shí)設(shè)置該預(yù)定義宏 _FILE_ name 包含全路徑的當(dāng)前被編譯的源文件名稱 _func_ name 當(dāng)前被編譯的函數(shù)名稱 _LINE_ num 當(dāng)前被編譯的代碼行號名稱 _MOUDLE_ mod 預(yù)定義宏_FILE_的文件名稱部分 _OPTIMISE_SPACE _ 使用編譯選項(xiàng)-OSPACE時(shí) _OPTIMISE_TIME _ 使用編譯選項(xiàng)-Otime時(shí) _pretty_funcname unmangled的當(dāng)前函數(shù)名稱 _sizeof_int 4 sizeof(int),在預(yù)處理表達(dá)式中可以使用 _sizeof_long4 sizeof(long),在預(yù)處理表達(dá)式中可以使用 _sizeof_ptr 4 sizeof(void*)在預(yù)處理表達(dá)式中可以使用 _SOFTFP _ 編譯時(shí)使用浮點(diǎn)數(shù) _ _ 在各種編譯器模式下 _STDC_VERSION _ 標(biāo)準(zhǔn)的版本信息 _STRICT_ANSI_ _ 使用編譯選項(xiàng)-STRICT時(shí) _TARGET_ARCH_xx _ xx代表ARM體系編號 _TARGET_CPU_xx _ xx代表CPU編號 _TARGET_FEATURE_ 當(dāng)ARM體系支持指令PLD,LDRD,STRD,MCRR,MRRC時(shí) DOUBLEWORD _ 設(shè)置該定義宏 _TARGET_FEATURE_ 當(dāng)系統(tǒng)中包含DSP乘法處理器時(shí),設(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選項(xiàng),可能取值如下所示: _TARGET_FPU_VFP _TARGET_FPU_FPA _TARGET_FPU_SOFTVFP _TARGET_FPU_SOFTVFP_VFP _TARGET_FPU_SOFTFPA _TARGET_FPU_NONE _thumb _ 編譯器為tcc或tcpp時(shí),設(shè)置該預(yù)定義宏 _TIME 源文件編譯時(shí)間 |