-優化-
/o1
最小化空間
/op[-]
改善浮點數一致性
/o2
最大化速度
/os
優選**空間
/oa
假設沒有別名
/ot
優選**速度
/ob內聯展開(預設 n=0)
/ow
假設交叉函式別名
/od
禁用優化(預設值)
/ox
最大化選項。(/ogityb2 /gs)
/og
啟用全域性優化
/oy[-]
啟用框架指標省略
/oi
啟用內部函式
-**生成-
/g3
為 80386 進行優化
/gh
啟用 _pexit 函式呼叫
/g4
為 80486 進行優化
/gr[-]
啟用 c++ rtti
/g5
為 pentium 進行優化
/gx[-]
啟用 c++ eh(與 /ehsc 相同)
/g6
為 ppro、p-ii、p-iii 進行優化
/ehs
啟用 c++ eh(無 seh 異常)
/gb
為混合模型進行優化(預設)
/eha
啟用 c++ eh(w/ seh 異常)
/gd
__cdecl 呼叫約定
/ehc
外部「c」預設為 nothrow
/gr
__fastcall 呼叫約定
/gt
生成纖維安全 tls 訪問
/gz
__stdcall 呼叫約定
/gm[-]
啟用最小重新生成
/ga
為 windows 應用程式進行優化
/gl[-]
啟用鏈結時**生成
/gf
啟用字串池
/qifdiv[-]
啟用 pentium fdiv 修復
/gf
啟用唯讀字串池
/qi0f[-]
啟用 pentium 0x0f 修復
/gy
分隔鏈結器函式
/qifist[-]
使用 fist 而不是 ftol()
/gz
啟用堆疊檢查 (/rtcs)
/rtc1
啟用快速檢查 (/rtcsu)
/ge
對所有函式強制堆疊檢查
/rtcc
轉換為較小的型別檢查
/gs[num]
控制堆疊檢查呼叫
/rtcs
堆疊幀執行時檢查
/gs
啟用安全檢查
/rtcu
未初始化的本地用法檢查
/gh
啟用 _penter 函式呼叫
/clr[:noassembly]
為公共語言執行時庫編譯noassembly - 不產生程式集
-輸出檔案-
/fa[file]
命名程式集列表檔案
/fo命名物件檔案
/fa[sc]
配置程式集列表
/fp命名預編譯標頭檔案
/fd[file]
命名 .pdb 檔案
/fr[file]
命名源瀏覽器檔案
/fe命名可執行檔案
/fr[file]
命名擴充套件 .sbr 檔案
/fm[file]
命名對映檔案
-預處理器-
/ai新增到程式集搜尋路徑
/fx
將插入的**合併到檔案
/fu強制使用程式集/模組
/fi命名強制包含檔案
/c 不抽出注釋
/u移除預定義巨集
/d定義巨集
/u 移除所有預定義巨集
/e 預處理到 stdout
/i新增到包含搜尋路徑
/ep
預處理到 stdout,沒有 #line
/x 忽略「標準位置」
/p 預處理到檔案
-語言-
/zi
啟用除錯資訊
/zl
忽略 .obj 中的預設庫名
/zi
啟用「編輯並繼續」除錯資訊
/zg
生成函式原型
/z7
啟用舊式除錯資訊
/zs
只進行語法檢查
/zd
僅有行號除錯資訊
/vd
禁用/啟用 vtordisp
/zp[n]
在 n 位元組邊界上包裝結構
/vm指向成員的指標型別
/za
禁用擴充套件(暗指 /op)
/nobool
禁用「bool」關鍵字
/ze
啟用擴充套件(預設)
/zc:arg1[,arg2]
c++ 語言一致性,這裡的引數可以是:forscope - 對範圍規則強制使用標準 c++;wchar_t - wchar_t 是本機型別,不是 typedef
- 雜項 -
@選項響應檔案
/wo發出一次警告 n
/?, /help
列印此幫助訊息
/w為 n 設定警告等級 1-4
/c 只編譯,不鏈結
/w設定警告等級(預設 n=1)
/h最大外部名稱長度
/wall
啟用所有警告
/j 預設 char 型別是 unsigned
/wp64
啟用 64 位埠定位警告
/nologo
取消顯示版權訊息
/wx
將警告視為錯誤
/showincludes
顯示包含檔名
/wl
啟用單行診斷
/tc將檔案編譯為 .c
/yc[file]
建立 .pch 檔案
/tp將檔案編譯為 .cpp
/yd
將除錯資訊放在每個 .obj 中
/tc
將所有檔案編譯為 .c
/yl[sym]
為除錯庫插入 .pch 引用
/tp
將所有檔案編譯為 .cpp
/yu[file]
使用 .pch 檔案
/v設定版本字串
/yx[file]
自動 .pch
/w 禁用所有警告
/y-
禁用所有 pch 選項
/wd禁用警告 n
/zm最大記憶體分配(預設為 %)
/we將警告 n 視為錯誤
-鏈結-
/md
與 msvcrt.lib 鏈結
/mdd
與 msvcrtd.lib 除錯庫鏈結
/ml
與 libc.lib 鏈結
/mld
與 libcd.lib 除錯庫鏈結
/mt
與 libcmt.lib 鏈結
/mtd
與 libcmtd.lib 除錯庫鏈結
/ld
建立 .dll
/f設定堆疊大小
/ldd
建立 .dll 除錯庫
/link
[鏈結器選項和庫]
VC編譯器選項
cl.exe 是控制 microsoft c 和 c 編譯器與鏈結器的 32 位工具。編譯器產生通用物件檔案格式 coff 物件 obj 檔案。鏈結器產生可執行檔案 exe 或動態鏈結庫檔案 dll 注意,所有編譯器選項都區分大小寫。若要編譯但不鏈結,請使用 c。使用 nmake 生成輸出檔案。使用...
vc編譯器選項
cl.exe 是控制 microsoft c 和 c 編譯器與鏈結器的 32 位工具。編譯器產生通用物件檔案格式 coff 物件 obj 檔案。鏈結器產生可執行檔案 exe 或動態鏈結庫檔案 dll 注意,所有編譯器選項都區分大小寫。若要編譯但不鏈結,請使用 c。使用 nmake 生成輸出檔案。使用...
VC編譯器引數與選項詳解
cl option.file.option file lib.command file link link opt.各命令列引數的意義如下 1 option 命令列中的 option 是指乙個或多個編譯選項。在指定選項時,需要在選項前加正斜槓 或乙個短劃線 有一些選項還會帶有引數,使用 來指定選項的...