日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Visual Studio属性配置中使用宏

發(fā)布時間:2023/12/2 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Visual Studio属性配置中使用宏 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
在學(xué)習(xí)C語言的時候,我們曾經(jīng)遇到過一個宏的概念。宏的作用機(jī)理本質(zhì)上是宏的展開,C語言中的宏的用法也有很多種(水其實(shí)很深...),不過從感覺上來講,人們大致上會在以下的場景中,利用宏來解決一些窘境:一是為了避免重復(fù)書寫同樣性質(zhì)代碼時,會使用到宏;二是為了定義一些常量參數(shù)時,會使用到宏。另外,宏的意義也在于,當(dāng)我們修改某個宏的定義時,便修改了所有引用宏的地方所展開的代碼,這無疑節(jié)省了我們修改代碼的工作量以及代碼修改的靈活性。

? ? ? 在Visual Studio中進(jìn)行C++工程屬性的配置時,同樣也會遇到與寫代碼類似的場景,例如我們可能會在不同的表單(同一個工程或者多個工程)中,填寫相同的內(nèi)容(例如某個路徑)。這樣就造成了一些重復(fù)性的勞動,而且填寫時可能因?yàn)槭韬龆斐慑e誤,修改時也需要找到所有填寫這個內(nèi)容的地方。為了解決這個問題,Visual Studio在工程屬性配置時,也提供了宏這樣一個工具,來幫助我們減少這些無謂的辛勞。

? ? ? C++工程屬性中的宏

? ? ? 工程屬性中的宏具體長得是什么樣子呢?在打開工程屬性時,我們在表單中可能經(jīng)常會看到一些以美元符號($)為開頭的字符串,$(SomeMacro)。其實(shí)這些字符串便是Visual Studio中默認(rèn)定義的一些宏,它們其實(shí)就是代表一些與某個工程相關(guān)的常量字符串。在下圖中我們可以看到一些這樣默認(rèn)定義的宏:


? ? ? 任意點(diǎn)擊一個表單,然后點(diǎn)擊Edit選項(xiàng),便可以在彈出的窗口中,查看這些默認(rèn)定義宏的含義。




? ? ? 注意到上面兩個宏進(jìn)行結(jié)合,對項(xiàng)目的輸出路徑(Output)進(jìn)行了配置,也就是項(xiàng)目生成exe、lib或dll的地方。Visual Studio中還有很多類似這樣的宏,有些宏還是和機(jī)器相關(guān)的,所以我們也可以利用其來進(jìn)行工程配置,避免因?yàn)椴煌瑱C(jī)器上路徑不同,而對每臺機(jī)器單獨(dú)配置一次屬性。對工程屬性中默認(rèn)定義的宏,微軟的官方指南上也有一個比較詳細(xì)的介紹。

http://msdn.microsoft.com/en-us/library/c02as0cs.aspx

? ? ? 自定義工程屬性中的宏

? ? ? 那么我們?nèi)绾巫约憾x工程屬性中的宏呢?首先我們需要打開屬性管理器選項(xiàng)卡(Property Manager),然后為工程添加一個屬性頁面(Property Sheet)。該屬性頁面在被添加后,會被當(dāng)前的工程屬性繼承,于是便可以使用其中定義的宏了。






? ? ? 以上添加了一個宏,代表使用OpenCV第三方庫的版本號,因?yàn)樵诘谌綆焐墪r,庫的名字也會隨版本號發(fā)生改變;而使用了宏后,我們就可以很方便的修改引用庫的名稱了。下面我們可以回到原來的工程屬性當(dāng)中來,利用上面的宏來動態(tài)確定引用庫的名稱。



? ? ? 我們可以看到,Linker當(dāng)中所展開的命令行參數(shù)中,$(OpenCVLibVersion)已經(jīng)被展開為245了。而以后在發(fā)生庫版本的升級時,便可以只修改$(OpenCVLibVersion)這個宏便可以正常使用升級后的庫了,所以這種方法還是很實(shí)用的吧。在工程屬性的配置中,宏的使用場景還有很多,如果能夠靈活使用,便可以節(jié)省很多的時間,避免很多因重復(fù)勞動所造成的錯誤。

總結(jié)

以上是生活随笔為你收集整理的Visual Studio属性配置中使用宏的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。