天天看點

深入探究VC —— 編譯器cl.exe(2)

這一章節介紹的全是VC編譯器選項,option參數是cl.exe的編譯選項,是cl.exe指令行參數中最複雜、也是最常用的。下面介紹一些常用的編譯選項:

1、代碼生成有關

這些選項将影響編譯完成後生成的機器代碼:

2、調試有關

與調試有關的編譯選項如下圖,/Z7、/Zi、/ZI這三個選項是對程式進行調試時所必需的選項,同時注意,在生成調試版本的程式時,需要指定/Od選項以禁用優化:

3、程式優化有關

與程式優化有關的選項如下圖,優化選項将影響編譯器對代碼的優化,最選擇代碼體積最小還是選擇運作速度最快等需要使用這些選項:

4、輸出檔案有關

與生成的輸出檔案有關的選項如下圖,輸入檔案在參數中需要使用字元串來指定其路徑,字元串使用雙引号("")括起來,如/Fd "BIN//"。注意字元串的轉意字元,如果需要使用單斜杠表示檔案路徑,需要使用雙杠("//"):

5、預處理器有關

與預處理器有關的選項如下圖,這些選項将影響預處理器的運作,比如通過/D選項可以達到與在源代碼中使用#define定義基本相同的效果:

6、連結有關

與連結有關的選項如下圖,編譯器可以調試連結器,向連結器傳遞調用參數。/link選項完成這項功能,還可以指定堆棧的大小,建立動态連結庫等:

7、預編譯有關

與預編譯有關的選項如下圖,這些編譯選項會影響預編譯結果:

8、語言有關

與語言有關的選項如下圖,比如/Za、/Ze選項表示是否支援微軟的語言擴充,還是隻支援标準 C/C++。/Zp選項可以指定結構中的成員對齊方式,這将影響到生成的程式中結構體的大小。在一些協定頭的進行中,/Zp選項非常有用:

9、其他選項

這些選項的影響是多方面的,不太好分類。包括顯示幫助資訊、設定警告等。

關于VC編譯器參數與選項方面的知識就是這此了,當然這裡隻是大多數VC/C++編譯器常用的選項,并不是全部編譯選項。

(如果需要使用到編譯器其他的選項,請自行查閱MSDN)

另外,不足的地方希望大家能夠補充說明!

繼續閱讀