來自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
|
改善浮點數(shù)一致性 |
|
/Os
|
代碼大小優(yōu)先 |
|
/Ot
|
代碼速度優(yōu)先 |
|
/Ow
|
假定在函數(shù)調(diào)用中使用別名 |
|
/Ox
|
使用最大優(yōu)化 (/Ob2gity /Gs) |
|
/Oy
|
省略框架指針 |
代碼生成
|
/arch
|
使用 SSE 或 SSE2 指令生成代碼 |
|
/clr
|
啟用 C++ 的托管擴展并產(chǎn)生在公共語言運行庫上運行的輸出文件 |
|
/EH
|
指定異常處理模型 |
|
/G3
|
優(yōu)化代碼以優(yōu)選 386 處理器。在 Visual C++ 5.0 中已經(jīng)停用,編譯器將忽略此選項 |
|
/G4
|
優(yōu)化代碼以優(yōu)選 486 處理器。在 Visual C++ 5.0 中已經(jī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
|
啟用運行時類型信息 (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
|
指定預編譯頭文件名 |
/FR
/FR
|
生成瀏覽器文件 |
|
/Fx
|
將插入的代碼與源文件合并 |
調(diào)試
|
/GS
|
緩沖區(qū)安全檢查 |
|
/GZ
|
與 /RTC1 相同 |
|
/RTC
|
啟用運行時錯誤檢查 |
|
/Wp64
|
檢測 64 位可移植性問題 |
|
/Yd
|
將完整的調(diào)試信息放在所有對象文件中 |
|
/Yl
|
創(chuàng)建調(diào)試庫時插入 PCH 引用 |
|
/Z7
|
生成與 C 7.0 兼容的調(diào)試信息 |
|
/Zd
|
生成行號 |
|
/Zi
|
生成完整的調(diào)試信息 |
預處理器
|
/AI
|
指定在解析傳遞到 #using 指令的文件引用時搜索的目錄 |
|
/C
|
在預處理期間保留注釋 |
|
/D
|
定義常數(shù)和宏 |
|
/E
|
將預處理器輸出復制到標準輸出 |
|
/EP
|
將預處理器輸出復制到標準輸出 |
|
/Fl
|
預處理指定的包含文件 |
|
/FU
|
強制使用文件名,就像它已被傳遞到 #using 指令一樣 |
|
/I
|
在目錄中搜索包含文件 |
|
/P
|
將預處理器輸出寫入文件 |
|
/U
|
移除預定義宏 |
|
/u
|
移除所有的預定義宏 |
|
/X
|
忽略標準包含目錄 |
|
|
將調(diào)試信息包含在與“編輯并繼續(xù)”兼容的程序數(shù)據(jù)庫中 |
語言
鏈接
|
/F
|
設(shè)置堆棧大小 |
|
/LD
|
創(chuàng)建動態(tài)鏈接庫 |
|
/LDd
|
創(chuàng)建調(diào)試動態(tài)鏈接庫 |
|
/link
|
將指定的選項傳遞給 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-
|
忽略當前生成中的所有其他預編譯頭編譯器選項 |
|
/Yc
|
創(chuàng)建預編譯頭文件 |
|
/Yd
|
將完整的調(diào)試信息放在所有對象文件中 |
|
/Yu
|
在生成期間使用預編譯頭文件 |
|
/YX
|
自動處理預編譯頭 |
雜項
|
@
|
指定響應文件 |
|
/?
|
列出編譯器選項 |
|
/c
|
編譯但不鏈接 |
|
/H
|
限制外部(公共)名稱的長度 |
|
/HELP
|
列出編譯器選項 |
|
/J
|
更改默認的 char 類型 |
|
/nologo
|
取消顯示登錄版權(quán)標志 |
|
/QI0f
|
確保 Pentium 0F 指令沒有問題 |
|
/QIfdiv
|
FDIV、FPREM、FPTAN 和 FPATAN 指令有缺陷的 Intel Pentium 微處理器的變通方法 |
|
QIfist
|
當需要從浮點類型轉(zhuǎn)換為整型時取消 Helper 函數(shù) _ftol 的調(diào)用 |
|
/showIncludes
|
在編譯期間顯示所有包含文件的列表 |
/Tc
/TC
|
指定 C 源文件 |
/Tp
/TP
|
指定 C++ 源文件 |
|
/V
|
設(shè)置版本字符串 |
|
/W
|
設(shè)置警告等級 |
|
/w
|
禁用所有警告 |
|
/Wall
|
啟用所有警告,包括默認情況下禁用的警告 |
|
/WL
|
在從命令行編譯 C++ 源代碼時啟用錯誤信息和警告消息的單行診斷 |
|
/Zm
|
指定預編譯頭內(nèi)存分配限制 |
請參見
C/C++ 生成參考 | 編譯器選項 | 設(shè)置編譯器選項