*****************************************************
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 源檔案編譯時間
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 源檔案編譯時間
全站熱搜
留言列表