當前位置:首頁 » 編程軟體 » cl編譯器指定輸出文件名

cl編譯器指定輸出文件名

發布時間: 2022-07-04 10:02:11

㈠ C++達人請進 請問怎麼在dos下面編譯下面程序,我輸入了 cl 文件名.cpp 生成了obj文件 但是沒exe 、

1、切換到C++源文件所在的目錄,本實例在 h:\C 中
cd +絕對路徑
2、g++ 文件名.cpp -O3 -o hello (「-O3」中的「O」是大寫英文字母,「hello」為編譯後的可執行文件)
3、hello (執行hello文件,顯示輸出結果)

或者用下面的方法
假如VC安裝路徑為:

E:\Program Files\Microsoft Visual Studio

在DOS窗口中編譯的命令為:(假設文件名為score.cpp)
E:\test>"E:\Program Files\Microsoft Visual Studio\VC98\Bin\cl.exe" /GX /W3 /I "E:\Program Files\Microsoft Visual Studio\VC98\Include" /c score.cpp
編譯之後,進行鏈接:
E:\test>"E:\Program Files\Microsoft Visual Studio\VC98\Bin\link.exe" *.obj /LIBPATH:"E:\Program Files\Microsoft Visual Studio\VC98\Lib"

這樣即可生成exe可執行文件。

㈡ cl 編譯器使用

打開cmd,切換到helloworld.cpp所在路徑,鍵入
cl helloworld.cpp
即生成helloworld.obj和helloworld.exe

別忘了,把環境變數PATH設置成:
C:\Program Files\Microsoft Visual Studio\Common\Tools\WinNT;C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin;C:\Program Files\Microsoft Visual Studio\Common\Tools;C:\Program Files\Microsoft Visual Studio\VC98\bin;

如果你的VC不是安裝在C盤,那麼PATH值請做出相應調整。

㈢ 有MSVC編譯器的命令行大全么

1 cl,MSVC編譯器
/c:只編譯鏈接
/Za:禁止語言擴展
/link:鏈接指定的模塊或給鏈接器傳遞參數
/Od:禁止優化
/O2:以允許速度最快為目標優化
/O1:以最節省空間為目標優化
/GR或/GR-:開啟或關閉RTTI
/Gy:開啟函數級別鏈接
/GS或/GS-:開啟或關閉
/Fa:輸出匯編文件
/E:只進行預處理並且把結果輸出
/I:指定頭文件包含目錄
/Zi:啟用調試信息
/LD:編譯產生DLL文件
/LDd:編譯產生DLL文件(調試版)
/MD:與動態多線程版本運行庫MSVCRT.LIB鏈接
/MDd:與調試版動態多線程版本運行庫MSVCRTD.LIB鏈接
/MT:與靜態多線程版本運行庫LIBCMT.LIB鏈接
/MTd:與調試版靜態多線程版本運行庫LIBCMTD.LIB鏈接
2 link,MSVC鏈接器
/BASE:address:指定輸出文件的基地址
/DEBUG:輸出調試模式版本
/DEF:filename:指定模塊定義文件.DEF
/DEFAULTLIB:library:指定默認運行庫
/DLL:產生DLL
/ENTRY:symbol:指定程序路口
/EXPORT:symbol:指定某個符號位導出符號
/HEAP:指定默認堆大小
/LIBPATH:dir:指定鏈接時庫搜索路徑
/MAP:產生鏈接MAP文件
/NODEFAULTLIB:禁止默認運行庫
/OUT:指定輸出文件名
/RELEASE:已發布版本產生輸出文件
/STACK:指定默認棧大小
/SUBSYSTEM:指定子系統
3 mpbin,MSVC的COFF/PE文件查看器
/ALL:顯示所有信息
/ARCHIVEMEMBERS:顯示LIB文件中的所有目標文件列表
/DEPENDENTS:顯示文件的動態鏈接依賴關系
/DIRECTIVES:顯示鏈接器指示
/DISASM:顯示反匯編
/EXPORTS:顯示導出函數表
/HEADERS:顯示文件頭
/IMPORTS:顯示導入函數表
/LINENUMBERS:顯示行號信息
/SECTION:name:顯示某個段
/SECTION:顯示文件概要信息
/SYMBOLS:顯示文件符號表
/TLS:顯示線程局部存儲TLS信息

㈣ 如何在Windows下編譯OpenSSL (Vs2005使用Vc8的cl編譯器)

2、使用VS2005下的Visual Studio 2005 Command Prompt進入控制台模式(這個模式會自動設置各種環境變數) 3、解壓縮openssl的包,進入openssl的目錄 4、perl configure VC-WIN32 盡量在這個目錄下執行該命令,否則找不到Configure文件,或者指定完整的Configure文件路徑。 5、ms\do_ms 在解壓目錄下執行ms\do_ms命令 6、nmake -f ms\ntdll.mak編譯後在openssl解壓目錄下執行,完成編譯後。輸出的文件在out32dll裡面,包括應用程序的可執行文件、lib文件和dll文件 注意:在運行第五步時,cl編譯器會抱怨說.\crypto\des\enc_read.c文件的read是The POSIX name for this item is deprecated(不被推薦的),建議使用_read。呵呵,我可不想將OpenSSL中的所有的read函數修改為_read。再看cl的錯誤代碼 error C2220,於是上MSDN上查找: warning treated as error - no object file generated /WX tells the compiler to treat all warnings as errors. Since an error occurred, no object or executable file was generated. 是由於設置了/WX選項,將所有的警告都作為錯誤對待,所以。。。 於是打開OpenSSL目錄下的MS目錄下的ntdll.mak文件,將CFLAG的/WX選項去掉,存檔。。。

㈤ 用CL命令編譯C程序,怎麼設置其默認文件輸出路徑,環境變數似乎設置不了,IDE環境中設置對該編譯方法無效

cl /Fo"E:\test" /Fe"E:\test.exe" "E:\test.cpp"
cl /?可以查看命令參數列表

㈥ cl.exe中/AI參數問題 急!!!

VC中cl.exe命令參數簡介

cl.exe所在的文件夾裡面有一個批處理叫做
VSVAR32.BAT
首先運行它一次,你就可以用cl.exe來編譯你的代碼了。
(在vs2005裡面未發現該文件,懷疑因該是上級目錄的vcvarsall.bat,但是不執行該文件同樣可進行命令行編譯。)
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,該限制是操作系統指定的。

CL 命令文件請參見
設置編譯器選項 | 編譯器選項
命令文件是一個文本文件,它包含您另外在命令行上鍵入或使用 CL 環境變數指定的選項和文件名。CL 接受在 CL 環境變數中或命令行上用作參數的編譯器命令文件。與命令行或 CL 環境變數不同,命令文件允許使用多行選項和文件名。

命令文件中的選項和文件名將根據 CL 環境變數中或命令行上的命令文件名的位置被進行處理。但是,如果 /link 選項出現在命令文件中,則該行其餘部分的所有選項將被傳遞給鏈接器。命令文件的後面幾行中的選項和命令行上命令文件調用之後的選項仍被作為編譯器選項接受。

命令文件一定不能包含 CL 命令。每個選項必須在同一行上開始和結束;不能使用反斜杠 (\) 跨行組合一個選項。

命令文件用一個 @ 符後接一個文件名指定;該文件名可指定絕對路徑或相對路徑

㈦ VC++ CL編譯器可否編譯.c文件(c語言),如何使用

可以,你可以在IDE中創建C/C++源文件中直接指定文件後綴為.c
也可以通過注冊VC環境批處理文件,直接在命令提示行中用CL編譯器編譯

㈧ c文件如何生成指定文件名的執行文件

要看你用的什麼編譯器了。。

很多編譯器都有編譯選項:-o <執行文件的名字>

如果使用的IDE,一般也有設置輸出文件名字的。。。找找吧。(一般在link選項那裡)

㈨ c語言 指定文件名作為參數 輸出文件大小等等

希望採納,這是linux高級程序設計上的截圖

㈩ c語言如何列印出當前源文件的文件名以及源文件的當前行號

需要准備的材料分別有:電腦、C語言編譯器。

1、首先,打開C語言編譯器,新建一個初始.cpp文件,例如:test.cpp。

熱點內容
脈脈上傳通訊錄 發布:2024-06-13 19:27:19 瀏覽:278
聯想雲存儲指示燈 發布:2024-06-13 19:14:55 瀏覽:294
感知機學習演算法 發布:2024-06-13 19:14:16 瀏覽:517
ftp服務ubuntu 發布:2024-06-13 18:57:08 瀏覽:230
安卓游戲手機哪個好能日用的 發布:2024-06-13 18:44:26 瀏覽:235
android進程與服務 發布:2024-06-13 18:27:05 瀏覽:383
bat文件復制文件夾 發布:2024-06-13 18:23:10 瀏覽:995
mysql57解壓版 發布:2024-06-13 18:18:48 瀏覽:854
聲樂腳本 發布:2024-06-13 18:18:13 瀏覽:971
dijkstra最短路演算法 發布:2024-06-13 18:17:53 瀏覽:936