在學習C語言的時候,我們曾經遇到過一個宏的概念。宏的作用機理本質上是宏的展開,C語言中的宏的用法也有很多種(水其實很深...),不過從感覺上來講,人們大致上會在以下的場景中,利用宏來解決一些窘境:一是為了避免重復書寫同樣性質代碼時,會使用到宏;二是為了定義一些常量參數時,會使用到宏。另外,宏的意義也在於,當我們修改某個宏的定義時,便修改了所有引用宏的地方所展開的代碼,這無疑節省了我們修改代碼的工作量以及代碼修改的靈活性。
在Visual Studio中進行C++工程屬性的配置時,同樣也會遇到與寫代碼類似的場景,例如我們可能會在不同的表單(同一個工程或者多個工程)中,填寫相同的內容(例如某個路徑)。這樣就造成了一些重復性的勞動,而且填寫時可能因為疏忽而造成錯誤,修改時也需要找到所有填寫這個內容的地方。為了解決這個問題,Visual Studio在工程屬性配置時,也提供了宏這樣一個工具,來幫助我們減少這些無謂的辛勞。
Visual Studio 2010 & Help Library Manager 安裝說明 http://www.linuxidc.com/Linux/2012-11/74814.htm
OpenCV 2.3.x/2.4.x在Visual Studio 2005/2008和Visual Studio 2010配置方法詳解 http://www.linuxidc.com/Linux/2012-08/68302.htm
使用OpenCV-2.4.0.exe文件編譯x86或x64平台Visual Studio 2005/2008/2010目標文件 http://www.linuxidc.com/Linux/2012-08/68305.htm
Visual Studio LightSwitch增加對HTML5和JavaScript的支持 http://www.linuxidc.com/Linux/2012-06/63397.htm
Visual Studio 11:使用 C++ 開發一個最簡單的 Metro 應用 http://www.linuxidc.com/Linux/2012-06/62657.htm
C++工程屬性中的宏
工程屬性中的宏具體長得是什麼樣子呢?在打開工程屬性時,我們在表單中可能經常會看到一些以美元符號($)為開頭的字符串,$(SomeMacro)。其實這些字符串便是Visual Studio中默認定義的一些宏,它們其實就是代表一些與某個工程相關的常量字符串。在下圖中我們可以看到一些這樣默認定義的宏:
任意點擊一個表單,然後點擊Edit選項,便可以在彈出的窗口中,查看這些默認定義宏的含義。
注意到上面兩個宏進行結合,對項目的輸出路徑(Output)進行了配置,也就是項目生成exe、lib或dll的地方。Visual Studio中還有很多類似這樣的宏,有些宏還是和機器相關的,所以我們也可以利用其來進行工程配置,避免因為不同機器上路徑不同,而對每台機器單獨配置一次屬性。對工程屬性中默認定義的宏,微軟的官方指南上也有一個比較詳細的介紹。http://msdn.microsoft.com/en-us/library/c02as0cs.aspx