歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

VC命令行編譯參數簡介

CL.exe   是控制   Microsoft   C   和   C++   編譯器與鏈接器的   32   位工具。編譯器產生通用對象文件格式   (COFF)   對象   (.obj)   文件。鏈接器產生可執行文件   (.exe)   或動態鏈接庫文件   (DLL)。  

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

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

  使用   NMAKE   生成輸出文件。  

  使用   BSCMAKE   支持類浏覽。  

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

  優化  

  選項   作用    

  /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   指定預編譯頭文件名    

  /FR  

  /FR   生成浏覽器文件    

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

  調試  

  選項   作用    

  /GS   緩沖區安全檢查    

  /GZ   與   /RTC1   相同    

  /RTC   啟用運行時錯誤檢查    

  /Wp64   檢測   64   位可移植性問題    

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

  /Yl   創建調試庫時插入   PCH   引用    

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

  /Zd   生成行號    

  /Zi   生成完整的調試信息    

  預處理器  

  選項   作用    

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

  /c   在預處理期間保留注釋    

  /D   定義常數和宏    

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

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

  /Fl   預處理指定的包含文件    

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

  /I   在目錄中搜索包含文件    

  /P   將預處理器輸出寫入文件    

  /U   移除預定義宏    

  /U   移除所有的預定義宏    

  /X   忽略標准包含目錄    

  /ZI   將調試信息包含在與“編輯並繼續”兼容的程序數據庫中    

  語言  

  選項   作用    

  /noBool   取消   C++   bool、true   和   false   關鍵字    

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

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

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

  /vmm   聲明多重繼承    

  /vms   聲明單一繼承    

  /vmv   聲明虛擬繼承    

  /Za   禁用語言擴展    

  /Zc   在   /Ze   下指定標准行為    

  /Ze   啟用語言擴展    

  /Zg   生成函數原型    

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

  /Zp   n   封裝結構成員    

  /Zs   只檢查語法    

  鏈接  

  選項   作用    

  /F   設置堆棧大小    

  /LD   創建動態鏈接庫    

  /LDd   創建調試動態鏈接庫    

  /link   將指定的選項傳遞給   LINK    

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

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

  /ML   使用   LIBC.lib   編譯以創建單線程可執行文件    

  /MLd   使用   LIBCD.lib   編譯以創建調試單線程可執行文件    

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

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

  預編譯頭  

  選項   作用    

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

  /Yc   創建預編譯頭文件    

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

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

  /YX   自動處理預編譯頭    

  雜項  

  選項   作用    

  @   指定響應文件    

  /?   列出編譯器選項    

  /c   編譯但不鏈接    

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

  /HELP   列出編譯器選項    

  /J   更改默認的   char   類型    

  /NOLOGO   取消顯示登錄版權標志    

  /QI0f   確保   Pentium   0F   指令沒有問題    

  /QIfdiv   FDIV、FPREM、FPTAN   和   FPATAN   指令有缺陷的   Intel   Pentium   微處理器的變通方法    

  QIfist   當需要從浮點類型轉換為整型時取消   Helper   函數   _ftol   的調用    

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

  /Tc  

  /Tc   指定   C   源文件    

  /Tp  

  /Tp   指定   C++   源文件    

  /V   設置版本字符串    

  /w   設置警告等級    

  /w   禁用所有警告    

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

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

  /Zm   設置編譯器的內存分配限制    

CL   命令行使用下列語法:  

  CL   [option...]   file...   [option   |   file]...   [lib...]   [@command-file]   [/link   link-opt...]  

  下表說明CL   命令的輸入項意義    

  option   一個或多個   CL   選項。請注意,所有選項都應用於所有指定的源文件。選項是由一個正斜槓   (/)   或一個短劃線   (–)   指定的。如果某個選項帶有參數,則該選項的說明指定在選項和參數之間是否允許有空格。選項名(/HELP   選項除外)區分大小寫。有關更多信息,請參閱   CL   選項的順序。      

  file   一個或多個源文件、.obj   文件或庫的名稱。CL   編譯源文件並將   .obj   文件和庫的名稱傳遞給鏈接器。有關更多信息,請參閱   CL   文件名語法。      

  lib   一個或多個庫名。CL   將這些名稱傳遞給鏈接器。    

  command-file   包含多個選項和文件名的文件。有關更多信息,請參閱   CL   命令文件。    

  link-opt   一個或多個鏈接器選項。CL   將這些選項傳遞給鏈接器。    

  您可以指定任意數目的選項、文件名和庫名,條件是命令行上的字符數不超過   1024,該限制是操作系統指定的。 

vc 編譯連接選項(

Copyright © Linux教程網 All Rights Reserved