Visual C++ 編譯器選項


Visual C++ 編譯器選項

  1. Visual C++ 編譯器選項

按類別列出的編譯器選項

 

下面是一個完整的編譯器選項分類列表。有關按字母順序排序的列表,請參見按字母順序列出的編譯器選項

優化

選項 用途

/O1

創建小代碼

/O2

創建快速代碼

/Ob

控制內聯展開

/Od

禁用優化

/Og

使用全局優化

/Oi

生成內部函數

/Os

代碼大小優先

/Ot

代碼速度優先

/Ox

使用最大優化 (/Ob2gity /Gs)

/Oy

省略幀指針(僅限 x86)

代碼生成

選項 用途

/arch

使用 SSE 或 SSE2 指令生成代碼(僅限 x86)

/bigobj

增加 .obj 文件中的可尋址節數。

/clr

生成要在公共語言運行庫上運行的輸出文件

/EH

指定異常處理模型

/favor

生成為特定 x64 結構或為 AMD64 和 64 位內存擴展技術 (EM64T) 結構中的特定宏結構進行了優化的代碼。

/fp

指定浮點行為。

/G1

針對 Itanium 處理器進行優化。僅可用於 IPF 跨平台編譯器或 IPF 本機編譯器。

/G2

針對 Itanium2 處理器進行優化。僅可用於 IPF 跨平台編譯器或 IPF 本機編譯器。

/Gd

使用 __cdecl 調用約定(僅限 x86)

/Ge

激活堆棧探測

/GF

啟用字符串池

/Gh

調用掛鈎函數 _penter

/GH

調用掛鈎函數 _pexit

/GL

啟用全程序優化

/Gm

啟用最小重新生成

/GR

啟用運行時類型信息 (RTTI)

/Gr

使用 __fastcall 調用約定(僅限 x86)

/Gs

控制堆棧探測

/GT

支持使用靜態線程本地存儲區分配的數據的纖程安全

/GX

啟用同步異常處理

/Gy

啟用函數級鏈接

/Gz

使用 __stdcall 調用約定(僅限 x86)

/MD

使用 MSVCRT.lib 創建多線程 DLL

/MDd

使用 MSVCRTD.lib 創建調試多線程 DLL

/MT

使用 LIBCMT.lib 創建多線程可執行文件

/MTd

使用 LIBCMTD.lib 創建調試多線程可執行文件

輸出文件

選項 用途

/FA

創建列表文件,
設置列表文件名

/Fa

創建列表文件
,設置列表文件名

/Fd

重命名程序數據庫文件

/Fe

重命名可執行文件

/Fm

創建映射文件

/Fo

創建對象文件

/Fp

指定預編譯頭文件名

/FR /Fr

生成瀏覽器文件

/Fx

將插入的代碼與源文件合並

調試

選項 用途

/GS

緩沖區安全檢查

/GZ

/RTC1 相同

/homeparams

強制在進入函數時將傳入寄存器中的參數寫入其在堆棧中的位置。此編譯器選項只可用於 x64 編譯器(本機編譯和跨平台編譯)。

/RTC

啟用運行時錯誤檢查

/Wp64

檢測 64 位可移植性問題

/Yd

將完整的調試信息放在所有對象文件中

/Yl

創建調試庫時插入 PCH 引用

/Z7

生成與 C 7.0 兼容的調試信息

/Zi

生成完整的調試信息

/ZI

將調試信息包含在與“編輯並繼續”兼容的程序數據庫中(僅限 x86)

/Zx

生成可調試的優化代碼。僅可用於 IPF 跨平台編譯器或 IPF 本機編譯器。

預處理器

選項 用途

/AI

指定在解析傳遞到 #using 指令的文件引用時搜索的目錄

/C

在預處理期間保留注釋

/D

定義常數和宏

/E

將預處理器輸出復制到標准輸出

/EP

將預處理器輸出復制到標准輸出

/Fl

預處理指定的包含文件

/FU

強制使用文件名,就像它已被傳遞到 #using 指令一樣

/I

在目錄中搜索包含文件

/P

將預處理器輸出寫入文件

/U

移除預定義宏

/u

移除所有的預定義宏

/X

忽略標准包含目錄

語言

選項 用途

/openmp

在源代碼中啟用 #pragma omp

/vd

取消或啟用隱藏的 vtordisp 類成員

/vmb

對指向成員的指針使用最佳的基

/vmg

對指向成員的指針使用完全一般性

/vmm

聲明多重繼承

/vms

聲明單一繼承

/vmv

聲明虛擬繼承

/Za

禁用語言擴展

/Zc

/Ze 下指定標准行為

/Ze

啟用語言擴展

/Zg

生成函數原型

/Zl

從 .obj 文件中移除默認庫名

/Zp n

封裝結構成員

/Zs

只檢查語法

鏈接

選項 用途

/F

設置堆棧大小

/LD

創建動態鏈接庫

/LDd

創建調試動態鏈接庫

/LN

創建 MSIL 模塊。

/link

將指定的選項傳遞給 LINK

/MD

使用 MSVCRT.lib 編譯以創建多線程 DLL

/MDd

使用 MSVCRTD.lib 編譯以創建調試多線程 DLL

/MT

使用 LIBCMT.lib 編譯以創建多線程可執行文件

/MTd

使用 LIBCMTD.lib 編譯以創建調試多線程可執行文件

預編譯頭

選項 用途

/Y-

忽略當前生成中的所有其他預編譯頭編譯器選項

/Yc

創建預編譯頭文件

/Yd

將完整的調試信息放在所有對象文件中

/Yu

在生成期間使用預編譯頭文件

雜項

選項 用途

@

指定響應文件

/?

列出編譯器選項

/analyze

啟用代碼分析。

/c

編譯但不鏈接

/doc

處理 XML 文件的文檔注釋。

/errorReport

允許您將內部編譯器錯誤 (ICE) 信息直接提供給 Visual C++ 團隊。

/FC

在診斷文本中顯示傳遞給 cl.exe 的源代碼文件的完整路徑。

/H

限制外部(公共)名稱的長度

/HELP

列出編譯器選項

/hotpatch

創建可熱修補的映像。

/J

更改默認的 char 類型

/nologo

取消顯示登錄版權標志

QIfist

當需要從浮點類型轉換為整型時取消 Helper 函數 _ftol 的調用(僅限 x86)

/QIPF_B

根據 B CPU 單步執行的勘誤表,不生成給出異常結果的指令序列。(僅限 IPF)

/QIPF_C

根據 C CPU 單步執行的勘誤表,不生成給出異常結果的指令序列。(僅限 IPF)

/QIPF_fr32

不使用高 96 位浮點寄存器。(僅限 IPF)

/QIPF_noPIC

生成具有位置相關代碼的映像(僅限 IPF)。

/QIPF_restrict_plabels

增強不在運行時創建函數的程序的性能。(僅限 IPF)

/showIncludes

在編譯期間顯示所有包含文件的列表

/Tc /TC

指定 C 源文件

/Tp /TP

指定 C++ 源文件

/V

設置版本字符串

/W

設置警告等級

/w

禁用所有警告

/Wall

啟用所有警告,包括默認情況下禁用的警告

/WL

在從命令行編譯 C++ 源代碼時啟用錯誤信息和警告消息的單行診斷

/Zm

指定預編譯頭內存分配限制

請參見

參考

編譯器選項

設置編譯器選項

其他資源

C/C++ 生成參考

http://msdn.microsoft.com/zh-cn/library/91621w01%28VS.80%29.aspx


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com