來自msdn:http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/vccore/html/_core_compiler_options_listed_by_category.asp
優(yōu)化
/O1
|
創(chuàng)建小代碼 |
/O2
|
創(chuàng)建快速代碼 |
/Oa
|
假設(shè)沒有別名 |
/Ob
|
控制內(nèi)聯(lián)展開 |
/Od
|
禁用優(yōu)化 |
/Og
|
使用全局優(yōu)化 |
/Oi
|
生成內(nèi)部函數(shù) |
/Op
|
改善浮點(diǎn)數(shù)一致性 |
/Os
|
代碼大小優(yōu)先 |
/Ot
|
代碼速度優(yōu)先 |
/Ow
|
假定在函數(shù)調(diào)用中使用別名 |
/Ox
|
使用最大優(yōu)化 (/Ob2gity /Gs) |
/Oy
|
省略框架指針 |
代碼生成
/arch
|
使用 SSE 或 SSE2 指令生成代碼 |
/clr
|
啟用 C++ 的托管擴(kuò)展并產(chǎn)生在公共語言運(yùn)行庫上運(yùn)行的輸出文件 |
/EH
|
指定異常處理模型 |
/G3
|
優(yōu)化代碼以優(yōu)選 386 處理器。在 Visual C++ 5.0 中已經(jīng)停用,編譯器將忽略此選項(xiàng) |
/G4
|
優(yōu)化代碼以優(yōu)選 486 處理器。在 Visual C++ 5.0 中已經(jīng)停用,編譯器將忽略此選項(xiàng) |
/G5
|
優(yōu)化代碼以優(yōu)選 Pentium |
/G6
|
優(yōu)化代碼以優(yōu)選 Pentium Pro、Pentium II 和 Pentium III 處理器 |
/G7
|
針對 Pentium 4 或 Athlon 優(yōu)化代碼。 |
/GB
|
與 /G6 等效;將 _M_IX86 的值設(shè)置為 600 |
/Gd
|
使用 __cdecl 調(diào)用約定 |
/Ge
|
激活堆棧探測 |
/GF
/Gf
|
啟用字符串池 |
/Gh
|
調(diào)用掛鉤函數(shù) _penter |
/GH
|
調(diào)用掛鉤函數(shù) _pexit |
/GL
|
啟用全程序優(yōu)化 |
/Gm
|
啟用最小重新生成 |
/GR
|
啟用運(yùn)行時類型信息 (RTTI) |
/Gr
|
使用 __fastcall 調(diào)用約定 |
/Gs
|
控制堆棧探測 |
/GT
|
支持使用靜態(tài)線程本地存儲區(qū)分配的數(shù)據(jù)的纖程安全 |
/GX
|
啟用同步異常處理 |
/Gy
|
啟用函數(shù)級鏈接 |
/Gz
|
使用 __stdcall 調(diào)用約定 |
/MD
|
使用 MSVCRT.lib 創(chuàng)建多線程 DLL |
/MDd
|
使用 MSVCRTD.lib 創(chuàng)建調(diào)試多線程 DLL |
/ML
|
使用 LIBC.lib 創(chuàng)建單線程可執(zhí)行文件 |
/MLd
|
使用 LIBCD.lib 創(chuàng)建調(diào)試單線程可執(zhí)行文件 |
/MT
|
使用 LIBCMT.lib 創(chuàng)建多線程可執(zhí)行文件 |
/MTd
|
使用 LIBCMTD.lib 創(chuàng)建調(diào)試多線程可執(zhí)行文件 |
輸出文件
/FA
/Fa
|
創(chuàng)建列表文件 設(shè)置列表文件名 |
/Fd
|
重命名程序數(shù)據(jù)庫文件 |
/Fe
|
重命名可執(zhí)行文件 |
/Fm
|
創(chuàng)建映射文件 |
/Fo
|
創(chuàng)建對象文件 |
/Fp
|
指定預(yù)編譯頭文件名 |
/FR
/FR
|
生成瀏覽器文件 |
/Fx
|
將插入的代碼與源文件合并 |
調(diào)試
/GS
|
緩沖區(qū)安全檢查 |
/GZ
|
與 /RTC1 相同 |
/RTC
|
啟用運(yùn)行時錯誤檢查 |
/Wp64
|
檢測 64 位可移植性問題 |
/Yd
|
將完整的調(diào)試信息放在所有對象文件中 |
/Yl
|
創(chuàng)建調(diào)試庫時插入 PCH 引用 |
/Z7
|
生成與 C 7.0 兼容的調(diào)試信息 |
/Zd
|
生成行號 |
/Zi
|
生成完整的調(diào)試信息 |
預(yù)處理器
/AI
|
指定在解析傳遞到 #using 指令的文件引用時搜索的目錄 |
/C
|
在預(yù)處理期間保留注釋 |
/D
|
定義常數(shù)和宏 |
/E
|
將預(yù)處理器輸出復(fù)制到標(biāo)準(zhǔn)輸出 |
/EP
|
將預(yù)處理器輸出復(fù)制到標(biāo)準(zhǔn)輸出 |
/Fl
|
預(yù)處理指定的包含文件 |
/FU
|
強(qiáng)制使用文件名,就像它已被傳遞到 #using 指令一樣 |
/I
|
在目錄中搜索包含文件 |
/P
|
將預(yù)處理器輸出寫入文件 |
/U
|
移除預(yù)定義宏 |
/u
|
移除所有的預(yù)定義宏 |
/X
|
忽略標(biāo)準(zhǔn)包含目錄 |
|
將調(diào)試信息包含在與“編輯并繼續(xù)”兼容的程序數(shù)據(jù)庫中 |
語言
/vd
|
取消或啟用隱藏的 vtordisp 類成員 |
/vmb
|
對指向成員的指針使用最佳的基 |
/vmg
|
對指向成員的指針使用完全一般性 |
/vmm
|
聲明多重繼承 |
/vms
|
聲明單一繼承 |
/vmv
|
聲明虛擬繼承 |
/Za
|
禁用語言擴(kuò)展 |
/Zc
|
在 /Ze 下指定標(biāo)準(zhǔn)行為 |
/Ze
|
啟用語言擴(kuò)展 |
/Zg
|
生成函數(shù)原型 |
/Zl
|
從 .obj 文件中移除默認(rèn)庫名 |
/Zp
n
|
封裝結(jié)構(gòu)成員 |
/Zs
|
只檢查語法 |
鏈接
/F
|
設(shè)置堆棧大小 |
/LD
|
創(chuàng)建動態(tài)鏈接庫 |
/LDd
|
創(chuàng)建調(diào)試動態(tài)鏈接庫 |
/link
|
將指定的選項(xiàng)傳遞給 LINK |
/MD
|
使用 MSVCRT.lib 編譯以創(chuàng)建多線程 DLL |
/MDd
|
使用 MSVCRTD.lib 編譯以創(chuàng)建調(diào)試多線程 DLL |
/ML
|
使用 LIBC.lib 編譯以創(chuàng)建單線程可執(zhí)行文件 |
/MLd
|
使用 LIBCD.lib 編譯以創(chuàng)建調(diào)試單線程可執(zhí)行文件 |
/MT
|
使用 LIBCMT.lib 編譯以創(chuàng)建多線程可執(zhí)行文件 |
/MTd
|
使用 LIBCMTD.lib 編譯以創(chuàng)建調(diào)試多線程可執(zhí)行文件 |
預(yù)編譯頭
/Y-
|
忽略當(dāng)前生成中的所有其他預(yù)編譯頭編譯器選項(xiàng) |
/Yc
|
創(chuàng)建預(yù)編譯頭文件 |
/Yd
|
將完整的調(diào)試信息放在所有對象文件中 |
/Yu
|
在生成期間使用預(yù)編譯頭文件 |
/YX
|
自動處理預(yù)編譯頭 |
雜項(xiàng)
@
|
指定響應(yīng)文件 |
/?
|
列出編譯器選項(xiàng) |
/c
|
編譯但不鏈接 |
/H
|
限制外部(公共)名稱的長度 |
/HELP
|
列出編譯器選項(xiàng) |
/J
|
更改默認(rèn)的 char 類型 |
/nologo
|
取消顯示登錄版權(quán)標(biāo)志 |
/QI0f
|
確保 Pentium 0F 指令沒有問題 |
/QIfdiv
|
FDIV、FPREM、FPTAN 和 FPATAN 指令有缺陷的 Intel Pentium 微處理器的變通方法 |
QIfist
|
當(dāng)需要從浮點(diǎn)類型轉(zhuǎn)換為整型時取消 Helper 函數(shù) _ftol 的調(diào)用 |
/showIncludes
|
在編譯期間顯示所有包含文件的列表 |
/Tc
/TC
|
指定 C 源文件 |
/Tp
/TP
|
指定 C++ 源文件 |
/V
|
設(shè)置版本字符串 |
/W
|
設(shè)置警告等級 |
/w
|
禁用所有警告 |
/Wall
|
啟用所有警告,包括默認(rèn)情況下禁用的警告 |
/WL
|
在從命令行編譯 C++ 源代碼時啟用錯誤信息和警告消息的單行診斷 |
/Zm
|
指定預(yù)編譯頭內(nèi)存分配限制 |
請參見
C/C++ 生成參考 | 編譯器選項(xiàng) | 設(shè)置編譯器選項(xiàng)