/C:在預處理輸出中保留注釋語句
/c:隻編譯,不連接配接,相當于在"Build"菜單下選擇了"Compile"
/D:定義常量和宏,與源程式裡的#define 有相同效果
/E:預處理C、C++源檔案,将源檔案中所有的預編譯指令及宏展開,将注釋去掉,然後将預處理器的輸出拷貝至标準輸出裝置輸出,并且在每個檔案的開頭和末尾加入#line
/EH:指定編譯器用何種異常處理模型
/EP:同/E,隻是去掉了#line
/F:設定程式的堆棧大小
/FA:設定生成何種清單檔案(彙編、彙編與機器碼、彙編與源碼、彙編與機器碼以及源碼)
/Fa:指定用/FA設定的清單檔案的存放路徑及(或)檔案名
/FD:生成檔案的互相依賴資訊
/Fd:設定程式資料庫檔案(PDB)的存放路徑及(或)檔案名
/Fe:設定最終可執行檔案的存放路徑及(或)檔案名
/FI:預處理指定的頭檔案,與源檔案中的#include有相同效果
/Fm:建立map檔案
/Fo:設定編譯後Obj檔案的存放路徑及(或)檔案名
/Fp:設定預編譯檔案(pch)的存放路徑及(或)檔案名
/FR:生成浏覽資訊(sbr)檔案
/Fr:同/FR,不同之處在于/Fr不包括局部變量資訊
/G3:為80386處理器優化代碼生成
/G4:為80486處理器優化代碼生成
/G5:為Pentium處理器優化代碼生成
/G6:為Pentium Pro處理器優化代碼生成
/GA:為Windows應用程式作優化
/GB:為Pentium處理器優化代碼生成,使用80386、80486、Pentium、Pentium Pro的混合指令集,是代碼生成的預設選項(程式屬性選項中Processor對應Blend)
/GD:為Windows動态庫(dll)作優化,此開關在VC6中沒有實作
/Gd:指定使用__cdecl的函數調用規則
/Ge:激活堆棧檢測
/GF:消除程式中的重複的字元串,并将她放到隻讀的緩沖區中
/Gf:消除程式中的重複字元串
/Gh:在每個函數的開頭調用鈎子(hook)函數--penter
/Gi:允許漸進編譯
/Gm:允許最小化rebuild
/GR:允許運作時類型資訊(Run-Time Type Infomation)
/Gr:指定使用__fastcall的函數調用規則
/Gs:控制堆棧檢測所用記憶體大小
/GT:支援用__declspec(thread)配置設定的資料的fier-safety
/GX:允許同步異常處理,與/EHsc開關等價
/Gy:允許編譯器将每一個函數封裝成COMDATs的形式,供連接配接器調用
/GZ:允許在Debug build 的時候捕捉Release build的錯誤
/Gz:指定使用__stdcall的函數調用規則
/H:限制外部名字的長度
/HELP:列出編譯器的所有的指令開關
/I:指定頭檔案的搜尋路徑
/J:将char的預設類型從signed char改成unsigned char
/LD:建立一個動态連接配接庫
/LDd:建立一個Debug版本的動态連結庫
/link:将指定的選項傳給連接配接器
/MD:選擇多線程、DLL版本的C Run-Time庫
/MDd:選擇多線程、DLL、Debug版本的C Run-Time庫
/ML:選擇單線程版本的C Run—Time庫
/MLd:選擇單線程、Debug版本的C Run—Time庫
/MT:選擇多線程版本的C Run-Time庫
/MTd:選擇多線程、Debug版本的C Run—Time庫
/nologo:不顯示程式的版權資訊
/O1:優化使産生的可執行代碼最小
/O2:優化使産生的可執行代碼速度最快
/Oa:訓示編譯器程式裡沒有使用别名,可以提高程式的執行速度
/Ob:控制内聯(inline)函數的展開
/Od:禁止代碼優化
/Og:使用全局優化
/Oi:用内部函數去代替程式裡的函數調用,可以使程式運作的更快,但程式的長度變長
/Op:提高浮點數比較運算的一緻性
/Os:産生盡可能小的可執行代碼
/Ot:産生盡可能塊的可執行代碼
/Ow:訓示編譯器在函數體内部沒有使用别名
/Ox:組合了幾個優化開關,達到盡可能多的優化
/Oy:阻止調用堆棧裡建立幀指針
/Q1f:對核心級的裝置驅動程式生成單獨的調試資訊
/QI0f:對Pentium 0x0f錯誤指令作修正
/Qifdiv:對Pentium FDIV錯誤指令作修正
/P:将預處理輸出寫到指定檔案裡,檔案的字尾名為I
/TC:将指令行上的所有檔案都當作C源程式編譯,不管字尾名是否為.c
/Tc:将指定的檔案當作C源程式編譯,不管字尾名是否為.c
/TP:将指令行上的所有檔案都當作C++源程式編譯,不管字尾名是否為.cpp
/Tp:将指定檔案當作C++源程式編譯,不管字尾名是否為.cpp
/U:去掉一個指定的前面定義的符号或常量
/u:去掉所有前面定義的符号或常量
/V:在編譯的obj檔案裡嵌入版本号
/vd:禁止/允許構造函數置換
/vmb:選擇指針的表示方法,使用這個開關,在聲明指向某個類的成員的指針之前,必須先定義這個類
/vmg:選擇指針的表示方法,使用這個開關,在聲明指向某個類的成員的指針之前,不必先定義這個類,但要首先指定這個類是使用何種繼承方法
/vmm:設定指針的表示方法為Single Inheritance and Multiple Inheritance
/vms:設定指針的表示方法為Single Inheritance
/vmv:設定指針的表示方法為Any class
/W:設定警告等級
/w:禁止所有警告
/X:阻止編譯器搜尋标準的include 目錄
/Yc:建立預編譯頭檔案(pch)
/Yd:在所有的obj檔案裡寫上完全的調試資訊
/Yu:在build過程中使用指定的預編譯頭檔案
/YX:訓示編譯器若預編譯頭檔案存在,則使用它,若不存在,則建立一個
/Z7:生成MSC7.0相容的調試資訊
/Za:禁止語言擴充(Microsoft Extensions to C)
/Zd:調試資訊隻包含外部和全局的符号資訊以及行号資訊
/Ze:允許語言擴充(Microsoft Extensions to C)
/Zg:為源檔案裡面定義的每個函數生成函數原型
/ZI:生成程式庫檔案(Pdb)并支援Edit and Continue調試特性
/Zi:生成程式庫檔案(pdb),包含類型資訊和符号調試資訊
/ZL:從obj檔案裡去掉預設的庫檔案名
/Zm:設定編譯器的記憶體配置設定xianzhi
/Zn:禁止浏覽資訊檔案裡面的封裝
/Zp:設定結構成員在記憶體裡面的封裝格式
/Zs:快速檢查文法錯誤