CL.exe 是控制 Microsoft C 和 C++ 編譯器與鏈接器的 32 位工具。編譯器產(chǎn)生通用對象文件格式 (COFF)
對象 (.obj) 文件。鏈接器產(chǎn)生可執(zhí)行文件 (.exe) 或動" />
VC2008編譯器
CL.exe 是控制 Microsoft C 和 C++ 編譯器與鏈接器的 32 位工具。編譯器產(chǎn)生通用對象文件格式 (COFF)
對象 (.obj) 文件。鏈接器產(chǎn)生可執(zhí)行文件 (.exe) 或動態(tài)鏈接庫文件 (DLL)。
注意,所有編譯器選項都區(qū)分大小寫。
&s>
hy;
用法如下:
CL [option...] file... [option | file]... [lib...] [@commandfile] [/link linkopt...]
option : 一個或多個 CL 選項。請注意,所有選項都應(yīng)用于所有指定的源文件。選項是由一個
正斜杠 (/) 或一個短劃線 () 指定的。如果某個選項帶有參數(shù),則該選項的說明指
定在選項和參數(shù)之間是否允許有空格。選項名(/HELP 選項除外)區(qū)分大小寫。有關(guān)
更多信息,請參見 CL 選項的順序。
/c : 編譯但不鏈接
/Zs : 檢查語法
/ : 列出編譯器選項
/arch : 使用 SSE 或 SSE2 指令生成代碼
/arch:SSE2
/clr : 啟用 C++ 的托管擴展并產(chǎn)生在公共語言運行庫上運行的輸出文件
/F : 設(shè)置堆棧大小 | 此選項設(shè)置程序堆棧大。ㄒ宰止(jié)為單位)。
如果不使用此選項,堆棧大小默認為 1 MB
/F 100
/Fe : 重命名可執(zhí)行文件
/Feexe.exe
/G7 :針對 Pentium 4 或 Athlon 優(yōu)化代碼。
/GA :優(yōu)化 Windows 應(yīng)用程序的代碼
/GL :啟用全程序優(yōu)化
/Gm :啟用最小重新生成
/HELP :列出編譯器選項
/I :在目錄中搜索包含文件 | 指定源文件目錄 include
/I"e:VCinclude"
/link : 將指定的選項傳遞給 LINK
/MD : 使用 MSVCRT.lib 創(chuàng)建多線程 DLL
/ML : 使用 LIBC.lib 創(chuàng)建單線程可執(zhí)行文件
/MT : 使用 LIBCMT.lib 創(chuàng)建多線程可執(zhí)行文件
/O1 : 創(chuàng)建小代碼
/O2 : 創(chuàng)建快速代碼
/Os : 代碼大小優(yōu)先
/W : 設(shè)置警告等級
/W3
/Ot : 代碼速度優(yōu)先
/LD : 創(chuàng)建動態(tài)鏈接庫
/Ox : 使用最大優(yōu)化
/Zs : 只檢查語法
/TC : 指定 C 源文件
/TP : 指定 C++ 源文件
如果出現(xiàn):命令行 warning D9024 :無法識別的源文件類型“FilesJavajdk1.6.0_10include”
,假定為對象文件
cl: 命令行 warning D9024 :無法識別的源文件類型“FilesJavajdk1.6.0_10includew
in32”,假定為對象文件
指定文件的擴展名未被識別。該文件被假定為是一個對象文件并被傳遞到鏈接器。
下列擴展名可被識別:
.c(C 源文件)
.cxx(C++ 源文件)
.cpp(C++ 源文件)
.obj(對象文件)
.lib(庫文件)
.def(模塊定義文件)
.exp(鏈接器導出文件,由 LINK /LIB 創(chuàng)建)
命令行錯誤 D4027源文件“<filename>”被忽略
CL.exe 忽略輸入源文件。
可能的原因
在帶有 /c 選項的命令行上,/Fo 選項與輸出文件名之間存在空格。例如:
cl /c /Fo output.obj input.c
因為在 /Fo 與 output.obj 之間存在空格,所以 CL.exe 將 output.obj 作為輸入文件的名稱。若要修復(fù)此問題,請刪除該空格:
cl /c /Fooutput.obj input.c
>