www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 芯聞號 > 充電吧
[導(dǎo)讀]CL.exe 的命令行編譯斷斷續(xù)續(xù)接觸了幾次,每次都忘,每次都重新查。每次都搞不清楚語法,尤其是傳給linker的參數(shù)。因為網(wǎng)上所有的文章都是一樣的,都是詳細(xì)的參數(shù)列表,都是沒有實例。為了和大眾保持一

CL.exe 的命令行編譯斷斷續(xù)續(xù)接觸了幾次,每次都忘,每次都重新查。每次都搞不清楚語法,尤其是傳給linker的參數(shù)。因為網(wǎng)上所有的文章都是一樣的,都是詳細(xì)的參數(shù)列表,都是沒有實例。為了和大眾保持一致,我在下面也copy一個詳細(xì)的參數(shù)列表---只是在前面加幾個實例

?

cl.exe test.cpp /EHsc /I"C:/OpenCV2.0/include/opencv/" cv200.lib highgui200.lib?cxcore200.lib?/link /LIBPATH:"C:/OpenCV2.0/vs2008/lib"

?

/LIBPATH小寫也可以/libpath

?

網(wǎng)上找到的“經(jīng)典用法”

cl *.cpp /G7 /MD /Ox /Ot /W3 /c /EHsc /I"G:/Visual C++/VC98/PlatformSDK/Include"

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

?

MFC 開發(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

?

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

?

CL?? 命令行使用下列語法:?????

CL?? [option...]?? file...?? [option?? |?? file]...?? [lib...]?? [@command-file]?? [/link?? link-opt...]???
下表說明CL?? 命令的輸入項意義

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

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

lib?? ??一個或多個庫名。CL?? 將這些名稱傳遞給鏈接器。?????
????
command-file?? 包含多個選項和文件名的文件。有關(guān)更多信息,請參閱?? CL?? 命令文件。?????
????
link-opt?? 一個或多個鏈接器選項。CL?? 將這些選項傳遞給鏈接器。

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

?

?

編譯器

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

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

使用?? NMAKE?? 生成輸出文件。?????
使用?? BSCMAKE?? 支持類瀏覽。

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

?

一、優(yōu)化?????
? 選項???????????? 作用?????
? /O1?? ?創(chuàng)建小代碼?????
? /O2?? ?創(chuàng)建快速代碼?????
? /Oa?? ?假設(shè)沒有別名?????
? /Ob?? ?控制內(nèi)聯(lián)展開?????
? /Od?? ?禁用優(yōu)化?????
? /Og?? ?使用全局優(yōu)化?????
? /Oi?? ?生成內(nèi)部函數(shù)?????
? /Op?? ?改善浮點數(shù)一致性?????
? /Os?? ?代碼大小優(yōu)先?????
? /Ot?? ?代碼速度優(yōu)先?????
? /Ow?? ?假定在函數(shù)調(diào)用中使用別名?????
? /Ox?? ?使用最大優(yōu)化?? (/Ob1gity?? /Gs)?????
? /Oy?? ?省略框架指針

?

二、代碼生成?????
? 選項?? ??作用?????
? /clr?? ?啟用C++ 的托管擴(kuò)展并產(chǎn)生在公共語言運行庫上運行的輸出文件?????
? /EH?? ?指定異常處理模型?????
? /G3?? ?優(yōu)化代碼以優(yōu)選386處理器。在Visual C++ 5.0中已經(jīng)停用,編譯器將忽略此選項?????
? /G4?? ?優(yōu)化代碼以優(yōu)選486處理器。在Visual C++ 5.0中已經(jīng)停用,編譯器將忽略此選項?????
? /G5?? ?優(yōu)化代碼以優(yōu)選Pentium?????
? /GB?? ?與/G6等效;將 _M_IX86的值設(shè)置為600?????
? /Gd?? ?使用__cdecl 調(diào)用約定?????
? /Ge?? ?激活堆棧探測?????
? /GF???
? /GF?? ?啟用字符串池?????
? /GH?? ?調(diào)用掛鉤函數(shù)_penter?????
? /GH? ?調(diào)用掛鉤函數(shù)_pexit?????
? /GL?? ?啟用全程序優(yōu)化?????
? /Gm?? ?啟用最小重新生成?????
? /Gr?? ?啟用運行時類型信息(RTTI)?????
? /Gr?? ?使用 __fastcall 調(diào)用約定?????
? /GS?? ?控制堆棧探測?????
? /GT?? ?支持使用靜態(tài)線程本地存儲區(qū)分配的數(shù)據(jù)的纖程安全?????
? /GX?? ?啟用同步異常處理?????
? /Gy?? ?啟用函數(shù)級鏈接?????
? /GZ?? ?使用?? __stdcall?? 調(diào)用約定?????
? /MD?? ?使用?? MSVCRT.lib?? 創(chuàng)建多線程?? DLL?????
? /MDd?? ?使用?? MSVCRTD.lib?? 創(chuàng)建調(diào)試多線程?? DLL?????
? /ML?? ?使用?? LIBC.lib?? 創(chuàng)建單線程可執(zhí)行文件?????
? /MLd?? ?使用?? LIBCD.lib?? 創(chuàng)建調(diào)試單線程可執(zhí)行文件?????
? /MT?? ?使用?? LIBCMT.lib?? 創(chuàng)建多線程可執(zhí)行文件?????
? /MTd?? ?使用?? LIBCMTD.lib?? 創(chuàng)建調(diào)試多線程可執(zhí)行文件

?

三、輸出文件?????
? 選項?? ??作用?????
? /FA?? ?創(chuàng)建列表文件
? /FA?? ?設(shè)置列表文件名??????????

? /Fd?? ?重命名程序數(shù)據(jù)庫文件?????
? /Fe?? ?重命名可執(zhí)行文件?????
? /Fm? ?創(chuàng)建映射文件?????
? /Fo?? ?創(chuàng)建對象文件?????
? /Fp?? ?指定預(yù)編譯頭文件名?????
? /FR???
? /FR?? ?生成瀏覽器文件?????
? /Fx?? ?將插入的代碼與源文件合并

?

四、調(diào)試???????
? 選項?? ??作用?????
? /GS?? ?緩沖區(qū)安全檢查?????
? /GZ?? ?與?? /RTC1?? 相同?????
? /RTC?? ?啟用運行時錯誤檢查?????
? /Wp64?? 檢測?? 64?? 位可移植性問題?????
? /Yd?? ?將完整的調(diào)試信息放在所有對象文件中?????
? /Yl?? ?創(chuàng)建調(diào)試庫時插入?? PCH?? 引用?????
? /Z7?? ?生成與?? C?? 7.0?? 兼容的調(diào)試信息?????
? /Zd?? ?生成行號?????
? /Zi?? ?生成完整的調(diào)試信息

?

五、預(yù)處理器???????
? 選項?? ??作用?????
? /AI?? ?指定在解析傳遞到#using?? 指令的文件引用時搜索的目錄?????
? /c?? ??在預(yù)處理期間保留注釋?????
? /D?? ?定義常數(shù)和宏?????
? /E?? ?將預(yù)處理器輸出復(fù)制到標(biāo)準(zhǔn)輸出?????
? /EP?? ?將預(yù)處理器輸出復(fù)制到標(biāo)準(zhǔn)輸出?????
? /Fl?? ?預(yù)處理指定的包含文件?????
? /FU?? ?強(qiáng)制使用文件名,就像它已被傳遞到#using?? 指令一樣?????
? /I?? ??在目錄中搜索包含文件?????
? /P?? ?將預(yù)處理器輸出寫入文件?????
? /U?? ?移除預(yù)定義宏?????
? /U?? ?移除所有的預(yù)定義宏?????
? /X?? ?忽略標(biāo)準(zhǔn)包含目錄?????
? /ZI?? ?將調(diào)試信息包含在與“編輯并繼續(xù)”兼容的程序數(shù)據(jù)庫中

?

六、語言???????
? 選項?? ???作用?????
? /noBool?? ?取消?? C++?? bool、true?? 和?? false?? 關(guān)鍵字?????
? /vd?? ??取消或啟用隱藏的?? vtordisp?? 類成員?????
? /vmb?? ??對指向成員的指針使用最佳的基?????
? /vmg?? ??對指向成員的指針使用完全一般性?????
? /vmm?? ??聲明多重繼承?????
? /vms?? ??聲明單一繼承?????
? /vmv?? ??聲明虛擬繼承?????
? /Za?? ??禁用語言擴(kuò)展?????
? /Zc?? ??在?? /Ze?? 下指定標(biāo)準(zhǔn)行為?????
? /Ze?? ??啟用語言擴(kuò)展?????
? /Zg?? ??生成函數(shù)原型?????
? /Zl?? ??從?? .obj?? 文件中移除默認(rèn)庫名?????
? /Zpn?? ??封裝結(jié)構(gòu)成員?????
? /Zs?? ??只檢查語法

?

七、鏈接???????
? 選項?? ??作用?????
? /F?? ?設(shè)置堆棧大小?????
? /LD?? ?創(chuàng)建動態(tài)鏈接庫?????
? /LDd?? ?創(chuàng)建調(diào)試動態(tài)鏈接庫?????
? /link?? ?將指定的選項傳遞給?? LINK?????
? /MD?? ?使用?? MSVCRT.lib?? 編譯以創(chuàng)建多線程?? DLL?????
? /MDd?? ?使用?? MSVCRTD.lib?? 編譯以創(chuàng)建調(diào)試多線程?? DLL?????
? /ML?? ?使用?? LIBC.lib?? 編譯以創(chuàng)建單線程可執(zhí)行文件?????
? /MLd?? ?使用?? LIBCD.lib?? 編譯以創(chuàng)建調(diào)試單線程可執(zhí)行文件?????
? /MT?? ?使用?? LIBCMT.lib?? 編譯以創(chuàng)建多線程可執(zhí)行文件?????
? /MTd?? ?使用?? LIBCMTD.lib?? 編譯以創(chuàng)建調(diào)試多線程可執(zhí)行文件

?

八、預(yù)編譯頭???????
? 選項?? ??作用?????
? /Y-?? ?忽略當(dāng)前生成中的所有其他預(yù)編譯頭編譯器選項?????
? /Yc?? ?創(chuàng)建預(yù)編譯頭文件?????
? /Yd?? ?將完整的調(diào)試信息放在所有對象文件中?????
? /Yu?? ?在生成期間使用預(yù)編譯頭文件?????
? /YX?? ?自動處理預(yù)編譯頭

?

九、雜項???????
? 選項?? ??作用?????
? @?? ?指定響應(yīng)文件?????
? /??? ?列出編譯器選項?????
? /c?? ??編譯但不鏈接?????
? /H?? ?限制外部(公共)名稱的長度?????
? /HELP?? ?列出編譯器選項?????
? /J?? ??更改默認(rèn)的?? char?? 類型?????
? /NOLOGO?? 取消顯示登錄版權(quán)標(biāo)志?????
? /QI0f?? ?確保?? Pentium?? 0F?? 指令沒有問題?????
? /QIfdiv?? FDIV、FPREM、FPTAN?? 和?? FPATAN?? 指令有缺陷的?? Intel?? Pentium?? 微處理器的變通方法?????
? /QIfist?? 當(dāng)需要從浮點類型轉(zhuǎn)換為整型時取消?? Helper?? 函數(shù)?? _ftol?? 的調(diào)用????

? /showIncludes?? 在編譯期間顯示所有包含文件的列表?????
? /Tc???
? /Tc?? ?指定?? C?? 源文件?????
? /Tp???
? /Tp?? ?指定?? C++?? 源文件?????
? /V?? ?設(shè)置版本字符串?????
? /w?? ?設(shè)置警告等級?????
? /w?? ?禁用所有警告?????
? /Wall?? ?啟用所有警告,包括默認(rèn)情況下禁用的警告?????
? /WL?? ?在從命令行編譯?? C++?? 源代碼時啟用錯誤信息和警告消息的單行診斷?????
? /Zm?? ?設(shè)置編譯器的內(nèi)存分配限制????

?

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

?

LINK 用法如下:

?

/ALIGN 指定每一節(jié)的對齊方式?
/ALIGN 選項指定程序線性地址空間中每一節(jié)的對齊方式。number 參數(shù)以字節(jié)為單位,并且必須是2 的冪。默認(rèn)值是 4K (4096)。如果對齊方式產(chǎn)生
無效的圖像,則鏈接器發(fā)出警告。除非正
在編寫諸如設(shè)備驅(qū)動程序的應(yīng)用程序,否則應(yīng)不需要修改對齊方式。
/DLL 生成 DLL?
/DRIVER 創(chuàng)建 Windows NT 核心模式驅(qū)動程序?
/EXETYPE 生成虛擬設(shè)備驅(qū)動程序?
/EXETYPE:DYNAMIC 創(chuàng)建動態(tài)加載的虛擬設(shè)備驅(qū)動程序。?
/EXETYPE:DEV386 創(chuàng)建靜態(tài)加載的虛擬設(shè)備驅(qū)動程序。這是 /EXETYPE 的默認(rèn)值
/INCREMENTAL 控制增量鏈接?
/LARGEADDRESSAWARE 通知編譯器應(yīng)用程序支持大于 2 GB 的地址?
/LIBPATH 允許用戶重寫環(huán)境庫路徑?
/LIBPATH:"e:/VC/LIB" /LIBPATH:"e:/DX/LIB"
/MACHINE 指定目標(biāo)平臺?
` /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 時要求 /NOENTRY 選項。
/OPT 控制 LINK 優(yōu)化
如果生成僅運行于 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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉