vc編譯器選項

2021-06-28 03:04:49 字數 2060 閱讀 3922

cl.exe 是控制 microsoft c 和 c++ 編譯器與鏈結器的 32 位工具。編譯器產生通用物件檔案格式 (coff) 物件 (.obj) 檔案。鏈結器產生可執行檔案 (.exe) 或動態鏈結庫檔案 (dll)。

注意,所有編譯器選項都區分大小寫。

若要編譯但不鏈結,請使用 /c。

使用 nmake 生成輸出檔案。

使用 bscmake 支援

類瀏覽。 bscmake.exe是fortran powerstation的相關程式,具有提供生成生成乙個包含有關程式中的符號(類、函式、資料、巨集和型別)的資訊(.bsc)的檔案功能。

以下是乙個完整的編譯器選項分類列表。

優化 選項 作用

/o1 建立小**

/o2 建立快速**

/oa 假設沒有別名

/ob 控制內聯展開

/od 禁用優化

/og 使用全域性優化

/oi 生成內部函式

/op 改善浮點數一致性

/os **大小優先

/ot **速度優先

/ow 假定在函式呼叫中使用別名

/ox 使用最大優化 (/ob1gity /gs)

/oy 省略框架指標

**生成

選項 作用

/clr 啟用 c++ 的託管擴充套件並產生在公共語言執行庫上執行的輸出檔案

/eh 指定異常處理模型

/g3 優化**以優選 386 處理器。在 visual c++ 5.0 中已經停用,編譯器將忽略此選項

/g4 優化**以優選 486 處理器。在 visual c++ 5.0 中已經停用,編譯器將忽略此選項

/g5 優化**以優選 pentium

/gb 與 /g6 等效;將 _m_ix86 的值設定為 600

/gd 使用 __cdecl 呼叫約定

/ge 啟用堆疊探測

/gf

/gf 啟用字串池

/gh 呼叫掛鉤函式 _penter

/gh 呼叫掛鉤函式 _pexit

/gl 啟用全程式優化

/gm 啟用最小重新生成

/gr 啟用執行時型別資訊 (rtti)

/gr 使用 __fastcall 呼叫約定

/gs 控制堆疊探測

/gt 支援使用靜態執行緒本地儲存區分配的資料的纖程安全

/gx 啟用同步異常處理

/gy 啟用函式級鏈結

/gz 使用 __stdcall 呼叫約定

/md 使用 msvcrt.lib 建立多執行緒 dll

/mdd 使用 msvcrtd.lib 建立除錯多執行緒 dll

/ml 使用 libc.lib 建立單執行緒可執行檔案

/mld 使用 libcd.lib 建立除錯單執行緒可執行檔案

/mt 使用 libcmt.lib 建立多執行緒可執行檔案

/mtd 使用 libcmtd.lib 建立除錯多執行緒可執行檔案

輸出檔案

選項 作用

/fa

/fa 建立列表檔案

設定列表檔名

/fd 重新命名程式資料庫檔案

/fe 重新命名可執行檔案

/fm 建立對映檔案

/fo 建立物件檔案

/fp 指定預編譯頭檔名

為了建立符號瀏覽的瀏覽資訊,編譯器生成obj檔案時也生成乙個.sbr 檔案,然後 bscmake.exe 將 sbr 檔案連線成乙個 bsc 檔案中。

生成sbr和bsc檔案需要一些時間,vc預設不生成,vs預設生成。使用 /fr 或 /fr 通知建立sbr 檔案。可以從命令列呼叫bscmake建立bsc 檔案。

/fr 建立包含所有可能資訊的瀏覽器檔案sbr

/fr 建立不包含本地符號的 .sbr 檔案。如果sbr檔案包含本地符號,仍可通過bscmake 的 /el 選項.從bsc檔案中省略這些符號。

error bk1506: **中有微小錯誤,編譯能通過但sbr無法生成,會提示找不到某sbr檔案。類瀏覽器會需要這些檔案。vc6公升級vs中暴露的問題

VC編譯器選項

cl.exe 是控制 microsoft c 和 c 編譯器與鏈結器的 32 位工具。編譯器產生通用物件檔案格式 coff 物件 obj 檔案。鏈結器產生可執行檔案 exe 或動態鏈結庫檔案 dll 注意,所有編譯器選項都區分大小寫。若要編譯但不鏈結,請使用 c。使用 nmake 生成輸出檔案。使用...

VC編譯器選項

優化 o1 最小化空間 op 改善浮點數一致性 o2 最大化速度 os 優選 空間 oa 假設沒有別名 ot 優選 速度 ob內聯展開 預設 n 0 ow 假設交叉函式別名 od 禁用優化 預設值 ox 最大化選項。ogityb2 gs og 啟用全域性優化 oy 啟用框架指標省略 oi 啟用內部函...

VC編譯器引數與選項詳解

cl option.file.option file lib.command file link link opt.各命令列引數的意義如下 1 option 命令列中的 option 是指乙個或多個編譯選項。在指定選項時,需要在選項前加正斜槓 或乙個短劃線 有一些選項還會帶有引數,使用 來指定選項的...