VS中cl.exe 各命令列

來源:互聯網
上載者:User

 

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,該限制是作業系統指定的。

編譯器

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

若要編譯但不連結,請使用   /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   檔案中移除預設庫名    
/Zpn     封裝結構成員    
/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    設定編譯器的記憶體配置限制    

===================================

LINK 用法如下:

/ALIGN 指定每一節的對齊
/ALIGN 選項指定程式線性地址空間中每一節的對齊。number 參數以位元組為單位,並且必須是2 的冪。預設值是 4K (4096)。如果對齊產生
無效的映像,則連結器發出警告。除非正
在編寫諸如裝置驅動程式的應用程式,否則應不需要修改對齊。
/DLL 產生 DLL
/DRIVER 建立 Windows NT 核心模式驅動程式
/EXETYPE 產生虛擬設備驅動程式
/EXETYPE:DYNAMIC 建立動態載入的虛擬設備驅動程式。
/EXETYPE:DEV386 建立靜態載入的虛擬設備驅動程式。這是 /EXETYPE 的預設值
/INCREMENTAL 控制增量連結
/LARGEADDRESSAWARE 通知編譯器應用程式支援大於 2 GB 的地址
/LIBPATH 允許使用者重寫環境庫路徑
/LIBPATH:"e:\VC\LIB" /LIBPATH:"e:\DX\LIB"
/MACHINE 指定目標平台
` /MACHINE:{AM33|ARM|EBC|IA64|M32R|MIPS|MIPS16|MIPSFPU|MIPSFPU16|
MIPSR41XX|SH3|SH3DSP|SH4|SH5|THUMB|X86| X64/*8.0版本*/}
/MACHINE:X86
/NOENTRY 建立純資源 DLL
建立純資源 DLL 時要求 /NOENTRY 選項。
/OPT 控制 LINK 最佳化
如果產生僅運行於 Windows NT 或 Windows 2000 上的組件,則應使用 /OPT:NOWIN98。
/SUBSYSTEM: 指定子系統
{CONSOLE|EFI_APPLICATION|EFI_BOOT_SERVICE_DRIVER|
EFI_ROM|EFI_RUNTIME_DRIVER|NATIVE|POSIX|WINDOWS|
WINDOWSCE}[,#[.##]]
/OUT 指定輸出檔案名
/OUT:Hello.exe

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.