cl.exe:編譯器 (C/C++)link.exe:連結器lib.exe:靜態庫管理nmake.exe:Makefile 構建路徑通常在 VC\bin (x86) 或 VC\bin\amd64 (x64)。
# 用戶環境變數 VS2019_DIR=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community WIN_SDK=C:\Program Files (x86)\Windows Kits\10 Path=%VS2019_DIR%\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64;%VS2019_DIR%\Common7\IDE;%Path% INCLUDE=%VS2019_DIR%\VC\Tools\MSVC\14.29.30133\include;%WIN_SDK%\Include\10.0.19041.0\ucrt;%WIN_SDK%\Include\10.0.19041.0\shared;%WIN_SDK%\Include\10.0.19041.0\um;%WIN_SDK%\Include\10.0.19041.0\winrt;%WIN_SDK%\Include\10.0.19041.0\cppwinrt LIB=%VS2019_DIR%\VC\Tools\MSVC\14.29.30133\lib\x64;%WIN_SDK%\Lib\10.0.19041.0\ucrt\x64;%WIN_SDK%\Lib\10.0.19041.0\um\x64
或直接使用 **"Developer Command Prompt for VS"** (已自動設定)。
# HelloWorld.cpp #include#include int main() { std::cout << "Hello World" << std::endl; printf("printf: Hello World"); return 0; } # 編譯 (cl 自動調用 link) cl HelloWorld.cpp # 輸出 HelloWorld.exe # 常用選項 cl /O2 /Wall /EHsc HelloWorld.cpp # 優化、全警告、C++異常模型 cl /c HelloWorld.cpp # 僅編譯生成 .obj link HelloWorld.obj # 手動連結
| 選項 | 說明 |
|---|---|
| /O1 | 最小化代碼體積 |
| /O2 | 最大化執行速度 (預設 Release) |
| /Od | 關閉優化 (預設 Debug) |
| /Ob | 控制內聯展開 |
| /Oi | 生成內部函數 |
| /Wall | 啟用所有警告 |
| /WX | 警告視為錯誤 |
| /EHsc | C++ 同步異常處理模型 |
| /MD /MT | 動態/靜態連結 CRT |
cl.exe 會自動呼叫 link.exe、lib.exe 完成連結,單指令即可生成 .exe。複雜專案建議使用 CMake + MSBuild 或 vcxproj。