|
CL.exe 是控制 Microsoft C 和 C++ 編譯器與鏈接器的 32 位工具。編譯器產(chǎn)生通用對(duì)象文件格式 (COFF) 對(duì)象 (.obj) 文件。鏈接器產(chǎn)生可執(zhí)行文件 (.exe) 或動(dòng)態(tài)鏈接庫(kù)文件 (DLL)。 注意,所有編譯器選項(xiàng)都區(qū)分大小寫(xiě)。 用法如下: CL [option...] file... [option | file]... [lib...] [@command-file] [/link link-opt...] option : 一個(gè)或多個(gè) CL 選項(xiàng)。請(qǐng)注意,所有選項(xiàng)都應(yīng)用于所有指定的源文件。選項(xiàng)是由一個(gè) 正斜杠 (/) 或一個(gè)短劃線 (-) 指定的。如果某個(gè)選項(xiàng)帶有參數(shù),則該選項(xiàng)的說(shuō)明指 定在選項(xiàng)和參數(shù)之間是否允許有空格。選項(xiàng)名(/HELP 選項(xiàng)除外)區(qū)分大小寫(xiě)。有關(guān) 更多信息,請(qǐng)參見(jiàn) CL 選項(xiàng)的順序。 /c : 編譯但不鏈接 /Zs : 檢查語(yǔ)法 /? : 列出編譯器選項(xiàng) /arch : 使用 SSE 或 SSE2 指令生成代碼 /arch:SSE2 /clr : 啟用 C++ 的托管擴(kuò)展并產(chǎn)生在公共語(yǔ)言運(yùn)行庫(kù)上運(yùn)行的輸出文件 /F : 設(shè)置堆棧大小 | 此選項(xiàng)設(shè)置程序堆棧大?。ㄒ宰止?jié)為單位)。 如果不使用此選項(xiàng),堆棧大小默認(rèn)為 1 MB /F 100 /Fe : 重命名可執(zhí)行文件 /Feexe.exe /G7 :針對(duì) Pentium 4 或 Athlon 優(yōu)化代碼。 /GA :優(yōu)化 Windows 應(yīng)用程序的代碼 /GL :?jiǎn)⒂萌绦騼?yōu)化 /Gm :?jiǎn)⒂米钚≈匦律? /HELP :列出編譯器選項(xiàng) /I :在目錄中搜索包含文件 | 指定源文件目錄 include /I"e:/VC/include" /link : 將指定的選項(xiàng)傳遞給 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è)置警告等級(jí) /W3 ------------------------------ /Ot : 代碼速度優(yōu)先 /LD : 創(chuàng)建動(dòng)態(tài)鏈接庫(kù) /Ox : 使用最大優(yōu)化 /Zs : 只檢查語(yǔ)法 ------------------------------ /TC : 指定 C 源文件 /TP : 指定 C++ 源文件 ----------------------------------------------------------------------------------------- file : 一個(gè)或多個(gè)源文件、.obj 文件或庫(kù)的名稱。CL 編譯源文件并將 .obj 文件和庫(kù)的名 稱傳遞給鏈接器。有關(guān)更多信息,請(qǐng)參見(jiàn) CL 文件名語(yǔ)法。 lib : 一個(gè)或多個(gè)庫(kù)名。CL 將這些名稱傳遞給鏈接器。 command-file: 包含多個(gè)選項(xiàng)和文件名的文件。有關(guān)更多信息,請(qǐng)參見(jiàn) CL 命令文件。 link-opt : 一個(gè)或多個(gè)鏈接器選項(xiàng)。CL 將這些選項(xiàng)傳遞給鏈接器 --------------------------------------------------------------------------------------------- 精典用法: cl *.cpp /G7 /MD /Ox /Ot /W3 /c /EHsc /I"G:/Visual C++/VC98/PlatformSDK/Include" --------------------------------------------------------------------------------------------- LINK 是將通用對(duì)象文件格式 (COFF) 對(duì)象文件和庫(kù)鏈接起來(lái)以創(chuàng)建 32 位可執(zhí)行 (.exe) 文件或動(dòng)態(tài)鏈接 庫(kù) (DLL) 的 32 位工具。 LINK 用法如下: /ALIGN 指定每一節(jié)的對(duì)齊方式 /ALIGN 選項(xiàng)指定程序線性地址空間中每一節(jié)的對(duì)齊方式。number 參數(shù)以字節(jié)為單位,并且必須是2 的冪。默認(rèn)值是 4K (4096)。如果對(duì)齊方式產(chǎn)生 無(wú)效的圖像,則鏈接器發(fā)出警告。除非正 在編寫(xiě)諸如設(shè)備驅(qū)動(dòng)程序的應(yīng)用程序,否則應(yīng)不需要修改對(duì)齊方式。 /DLL 生成 DLL /DRIVER 創(chuàng)建 Windows NT 核心模式驅(qū)動(dòng)程序 /EXETYPE 生成虛擬設(shè)備驅(qū)動(dòng)程序 /EXETYPE:DYNAMIC 創(chuàng)建動(dòng)態(tài)加載的虛擬設(shè)備驅(qū)動(dòng)程序。 /EXETYPE:DEV386 創(chuàng)建靜態(tài)加載的虛擬設(shè)備驅(qū)動(dòng)程序。這是 /EXETYPE 的默認(rèn)值 /INCREMENTAL 控制增量鏈接 /LARGEADDRESSAWARE 通知編譯器應(yīng)用程序支持大于 2 GB 的地址 /LIBPATH 允許用戶重寫(xiě)環(huán)境庫(kù)路徑 /LIBPATH:"e:/VC/LIB" /LIBPATH:"e:/DX/LIB" /MACHINE 指定目標(biāo)平臺(tái) ` /MACHINE:{AM33|ARM|EBC|IA64|M32R|MIPS|MIPS16|MIPSFPU|MIPSFPU16| MIPSR41XX|SH3|SH3DSP|SH4|SH5|THUMB|X86| X64/*8.0版本*/} /MACHINE:X86 /NOENTRY 創(chuàng)建純資源 DLL 創(chuàng)建純資源 DLL 時(shí)要求 /NOENTRY 選項(xiàng)。 /OPT 控制 LINK 優(yōu)化 如果生成僅運(yùn)行于 Windows NT 或 Windows 2000 上的組件,則應(yīng)使用 /OPT:NOWIN98。 /SUBSYSTEM: 指定子系統(tǒng) {CONSOLE|EFI_APPLICATION|EFI_BOOT_SERVICE_DRIVER| EFI_ROM|EFI_RUNTIME_DRIVER|NATIVE|POSIX|WINDOWS| WINDOWSCE}[,#[.##]] /OUT 指定輸出文件名 /OUT:Hello.exe 精典用法: link *.obj rc.res /LIBPATH:"G:/Visual C++/lib" /SUBSYSTEM:WINDOWS /MACHINE:X86 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib OpenGL32.Lib rc 是資源編譯 /l 列出資源用的區(qū)域性 0x804 中國(guó) 0x409 美國(guó) 用法: rc /l 0x804 file.rc --------------------------------------------------------------------------------------------- MFC 開(kāi)發(fā)如下: 編譯源代碼: cl *.cpp /Ox /Ot /G7 /D "WIN32" /D "_WINDOWS" /D "_AFXDLL" /EHsc /MD /arch:SSE2 /W3 /c 資源編譯 : rc /l 0x804 winmfc.rc 鏈接 : link *.obj WinMFC.res /out:WinMFC.exe /OPT:NOWIN98 /SUBSYSTEM:WINDOWS /MACHINE:X86 +++++++++++++++++++++++++++++++++++++++++++++++ MS CL 編譯器選項(xiàng)語(yǔ)法 Promote>cl -helpMicrosoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86Copyright (C) Microsoft Corp 1984-1998. All rights reserved. C/C++ COMPILER OPTIONS -OPTIMIZATION- /O1 minimize space /Op[-] improve floating-pt consistency/O2 maximize speed /Os favor code space/Oa assume no aliasing /Ot favor code speed/ Ob inline expansion (default n=0) /Ow assume cross-function aliasing/Od disable optimizations (default) /Ox maximum opts. (/Ogityb1 /Gs)/Og enable global optimization /Oy[-] enable frame pointer omission/Oi enable intrinsic functions -CODE GENERATION- /G3 optimize for 80386 /Gy separate functions for linker/G4 optimize for 80486 /Ge force stack checking for all funcs/G5 optimize for Pentium /Gs[num] disable stack checking calls/G6 optimize for Pentium Pro /Gh enable hook function call/GB optimize for blended model (default) /GR[-] enable C++ RTTI/Gd __cdecl calling convention /GX[-] enable C++ EH (same as /EHsc)/Gr __fastcall calling convention /Gi[-] enable incremental compilation/Gz __stdcall calling convention /Gm[-] enable minimal rebuild/GA optimize for Windows Application /EHs enable synchronous C++ EH/GD optimize for Windows DLL /EHa enable asynchronous C++ EH/Gf enable string pooling /EHc extern "C" defaults to nothrow/GF enable read-only string pooling /QIfdiv[-] enable Pentium FDIV fix/GZ enable runtime debug checks /QI0f[-] enable Pentium 0x0f fix -OUTPUT FILES- /Fa[file] name assembly listing file /Fo name object file/FA[sc] configure assembly listing /Fp name precompiled header file/Fd[file] name .PDB file /Fr[file] name source browser file/Fe name executable file /FR[file] name extended .SBR file(press to continue)/Fm[file] name map file -PREPROCESSOR- /C don't strip comments /FI name forced include file/D{=|#} define macro /U remove predefined macro/E preprocess to stdout /u remove all predefined macros/EP preprocess to stdout, no #line /I |
|
|