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