1、 文檔目標(biāo)
解決Green?Hills中想要通過全局的宏定義對(duì)于代碼進(jìn)行版本控制。
2、 問題場(chǎng)景
在工程中會(huì)存在因?yàn)椴煌捻?xiàng)目版本或者外設(shè)選型不同,對(duì)于同一個(gè)功能存在多個(gè)版本的實(shí)現(xiàn)。那么對(duì)于這個(gè)功能具體使能哪個(gè)版本一般會(huì)使用宏定義的方式去做使能與失能。那么少數(shù)的代碼功能實(shí)現(xiàn)版本控制,可以直接在源文件或者對(duì)應(yīng)的頭文件中做宏定義開關(guān)。如果涉及到功能比較多的情況下,就需要使用在工程配置進(jìn)行定義宏來(lái)對(duì)于控制,這樣也方便對(duì)于代碼的版本管理。
3、軟硬件環(huán)境
1)、軟件版本:MULTI 8.1.4,Compiler 2023.1.4 Final Release for Embedded ARM
2)、電腦環(huán)境:Windows 11
3)、外設(shè)硬件:無(wú)
4、解決方法
1)、在build options中的Preprocessor->Define Preprocessor Symbol中可以進(jìn)行宏定義。在Define Preprocessor Symbol配置窗口,在輸入框中輸入宏定義的變量名和值。例如:test_macro = 1(如圖4-1)

圖4-1
2)、也可以在工程文件中直接用“-D”參數(shù)直接編寫。(如圖4-2)

圖4-2
3)、如果在Define Preprocessor Symbol配置窗口中輸入框中,只定義宏,不賦值的話,默認(rèn)宏的值等于1。
4)、如果想取消宏定義,也可以在build options中的Preprocessor->Undefine Preprocessor Symbol中進(jìn)行取消宏定義的操作。該配置等同于語(yǔ)法“#undef”。(如圖4-3)

圖4-3

首頁(yè) > 資源中心 > FAQ
