Visual Studio建置工具組含 C 編譯器,可讓您用來建立從基本主控台程式到完整Windows傳統型應用程式、行動應用程式等專案的所有專案。 Microsoft C/C++ (MSVC) 是 C 和 C++ 編譯器,其最新版本符合一些最新的 C 語言標準,包括 C11 和 C17。
本逐步解說示範如何使用文字編輯器來建立基本 「Hello, World」 樣式 C 程式,然後在命令列上加以編譯。 如果您想要在命令列上使用 C++,請參閱逐步解說
:在命令列上編譯原生 C++ 程式
。 如果您想要嘗試使用 Visual Studio IDE,而不是使用命令列,請參閱逐步解說
:使用專案和方案 (C++)
或使用
適用于 C++ 桌面開發的 Visual Studio IDE
。
Prerequisites
若要完成本逐步解說,您必須安裝Visual Studio或建置工具,以使用 C++ 工作負載進行Visual Studio和選用的桌面開發。
Visual Studio是功能強大的整合式開發環境,可支援許多語言和平臺的完整編輯器、資源管理員、偵錯工具和編譯器。 如需這些功能以及如何下載及安裝Visual Studio的相關資訊,包括免費Visual Studio Community版本,請參閱
安裝Visual Studio
。
Visual Studio版本的建置工具Visual Studio只會安裝命令列工具組、編譯器、工具和程式庫,才能建置 C 和 C++ 程式。 它非常適合建置實驗室或教室練習,並相對快速地安裝。 若要只安裝命令列工具組,請從
[Visual Studio下載
] 頁面下載 [適用于Visual Studio的建置工具],然後執行安裝程式。 在Visual Studio安裝程式中,選取舊版 Visual Studio中的
C++ 桌面開發
工作負載 (,選取
C++ 建置工具
工作負載) ,然後選擇 [
安裝
]。
當您安裝工具時,將會使用另一個工具來在命令列上建置 C 或 C++ 程式。 MSVC命令列環境有複雜的需求,可尋找其所使用的工具、標頭和程式庫。
您無法在一般命令提示字元視窗中使用MSVC
,而不需要進行一些準備。 您需要
開發人員命令提示
字元視窗,這是具有所有必要環境變數集的一般命令提示字元視窗。 幸運的是,Visual Studio安裝快捷方式,讓您啟動已設定命令列組建環境的開發人員命令提示字元。 可惜的是,開發人員命令提示字元快捷方式的名稱,以及它們位於幾乎每個版本的Visual Studio和不同版本的Windows中都不同。 您的第一個逐步解說工作是尋找要使用的右快捷方式。
開發人員命令提示字元快捷方式會自動設定編譯器和工具的正確路徑,以及任何必要的標頭和程式庫。 每個組建組態的其中一些值都不同。 如果您沒有使用其中一個快捷方式,則必須自行設定這些環境值。 如需詳細資訊,請參閱
從命令列使用MSVC工具組
。 由於建置環境很複雜,強烈建議您使用開發人員命令提示字元快捷方式,而不是自行建置。
這些指示會根據您使用的Visual Studio版本而有所不同。 若要查看慣用版本Visual Studio的檔,請使用
版本
選取器控制項。 它位於此頁面目錄頂端。
在 Visual Studio 2022 中開啟開發人員命令提示字元
如果您已在 Windows 10 或更新版本上安裝 Visual Studio 2022,請開啟[開始] 功能表,然後選擇 [
所有應用程式
]。 然後,向下捲動並開啟
Visual Studio 2022 資料夾,
(不是 Visual Studio 2022 應用程式) 。 選擇
VS 2022 的開發人員命令提示字元
以開啟命令提示字元視窗。
在 Visual Studio 2019 中開啟開發人員命令提示字元
如果您已在 Windows 10 或更新版本上安裝 Visual Studio 2019,請開啟[開始] 功能表,然後選擇 [
所有應用程式
]。 然後,向下捲動並開啟
Visual Studio 2019
資料夾, (不是 Visual Studio 2019 應用程式) 。 選擇
VS 2019 的開發人員命令提示字元
以開啟命令提示字元視窗。
在 Visual Studio 2017 中開啟開發人員命令提示字元
如果您已在 Windows 10 或更新版本上安裝 Visual Studio 2017,請開啟[開始] 功能表,然後選擇
[所有應用程式
]。 然後,向下捲動並開啟
Visual Studio 2017
資料夾, (不是 Visual Studio 2017 應用程式) 。 選擇
VS 2017 的開發人員命令提示字元
以開啟命令提示字元視窗。
在 Visual Studio 2015 中開啟開發人員命令提示字元
如果您已在 Windows 10 或更新版本上安裝 Microsoft Visual C++ Build Tools 2015,請開啟 [開始] 功能表,然後選擇
[所有應用程式
]。 然後,向下捲動並開啟
Visual C++ Build Tools
資料夾。 選擇
Visual C++ 2015 x86 Native Tools 命令提示字元
以開啟命令提示字元視窗。
如果您使用不同版本的Windows,請查看包含開發人員命令提示字元快捷方式的Visual Studio工具資料夾[開始] 功能表或 [開始] 頁面。 您也可以使用Windows搜尋函式來搜尋「開發人員命令提示字元」,並選擇符合已安裝版本的Visual Studio。 使用快捷方式開啟命令提示字元視窗。
接下來,確認開發人員命令提示字元已正確設定。 在命令提示字元視窗中,輸入
cl
(或
CL
,大小寫對編譯器名稱並不重要,但編譯器選項) 很重要。 輸出應該看起來像這樣:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise>cl
Microsoft (R) C/C++ Optimizing Compiler Version 19.10.25017 for x86
usage: cl [ option... ] filename... [ /link linkoption... ]
根據所安裝的Visual Studio版本和任何更新,目前目錄或版本號碼可能會有差異。 如果上述輸出與您看到的內容類別似,則您已準備好在命令列建置 C 或 C++ 程式。
如果您收到「'cl' 無法辨識為內部或外部命令、可操作的程式或批次檔」錯誤 C1034 或執行cl命令時發生錯誤 LNK1104,則您不使用開發人員命令提示字元,或安裝Visual Studio時發生錯誤。 您必須先修正此問題,才能繼續。
如果您找不到開發人員命令提示字元快捷方式,或在輸入 cl
時收到錯誤訊息,則您的Visual Studio安裝可能會發生問題。 如果您使用 Visual Studio 2017 或更新版本,請嘗試在 Visual Studio 安裝程式中使用C++ 工作負載重新安裝桌面開發。 如需詳細資訊,請參閱在 Visual Studio 中安裝 C++ 支援。 或者,從[Visual Studio下載] 頁面重新安裝 [建置工具]。 在命令正常運作之前 cl
,請勿繼續進行下一節。 如需安裝和疑難排解Visual Studio的詳細資訊,請參閱安裝Visual Studio。
根據電腦上的Windows版本和系統安全性設定,您可能必須以滑鼠右鍵按一下以開啟開發人員命令提示字元快捷方式的快捷方式功能表,然後選擇 [以系統管理員身分執行] 成功建置和執行您遵循本逐步解說所建立的程式。
建立 C 原始程式檔,並在命令列上加以編譯
在開發人員命令提示字元視窗中,輸入 cd c:\
,將目前的工作目錄變更為 C: 磁片磁碟機的根目錄。 接下來,輸入 md c:\hello
以建立目錄,然後輸入 cd c:\hello
以變更該目錄。 此目錄會保存您的原始程式檔和編譯的程式。
在開發人員命令提示字元中輸入 notepad hello.c
。 在快顯的 [記事本警示] 對話方塊中,選擇 [是] 在工作目錄中建立新 hello.c
檔案。
在 [記事本] 中,輸入下列幾行程式碼:
#include <stdio.h>
int main()
printf("Hello, World! This is a native C program compiled on the command line.\n");
return 0;
在 [記事本] 功能表列上,選擇 [檔案]> [儲存] 以儲存 hello.c
在您的工作目錄中。
切換回開發人員命令提示字元視窗。 在命令提示字元中輸入 dir
,以列出目錄的內容 c:\hello
。 您應該會在目錄清單中看到原始程式檔 hello.c
,看起來像這樣:
C:\hello>dir
Volume in drive C has no label.
Volume Serial Number is CC62-6545
Directory of C:\hello
10/02/2017 03:46 PM <DIR> .
10/02/2017 03:46 PM <DIR> ..
10/02/2017 03:36 PM 143 hello.c
1 File(s) 143 bytes
2 Dir(s) 514,900,566,016 bytes free
您電腦上的日期和其他詳細資料將會有所不同。 如果您沒有看到原始程式碼檔案, hello.c
請確定您已變更為您所建立的 c:\hello
目錄,並在 記事本 中,確定您已將此原始程式檔儲存在此目錄中。 此外,請確定您已使用 .c
副檔名儲存原始程式碼,而不是 .txt
副檔名。
若要編譯器,請在開發人員命令提示字元中輸入 cl hello.c
。
您可以在編譯器顯示的輸出資訊行中看到可執行檔程式名稱hello.exe:
c:\hello>cl hello.c
Microsoft (R) C/C++ Optimizing Compiler Version 19.10.25017 for x86
hello.c
Microsoft (R) Incremental Linker Version 14.10.25017.0
/out:hello.exe
hello.obj
如果您收到錯誤,例如「'cl' 無法辨識為內部或外部命令、可操作的程式或批次檔」錯誤 C1034 或錯誤 LNK1104,則您的開發人員命令提示字元未正確設定。 如需如何修正此問題的資訊,請返回 開啟開發人員命令提示字元 一節。
如果您收到不同的編譯器或連結器錯誤或警告,請檢閱您的原始程式碼以更正任何錯誤,然後儲存並再次執行編譯器。 如需特定錯誤的相關資訊,請使用此頁面頂端的搜尋方塊來尋找錯誤號碼。
若要執行程式,請在命令提示字元中輸入 hello
。
程式會顯示下列文字並結束:
Hello, World! This is a native C program compiled on the command line.
恭喜,您已使用命令列編譯並執行 C 程式。
這個 「Hello, World」 範例與 C 程式可以取得的基本概念有關。 真實世界程式具有標頭檔及更多原始程式檔、程式庫,以及執行有用的工作。
您可以使用本逐步解說中的步驟來建置自己的 C 程式碼,而不是輸入顯示的範例程式碼。 您也可以建置您在其他地方找到的許多 C 程式碼範例程式。 若要編譯具有更多原始程式碼檔案的程式,請在命令列上全部輸入:
cl file1.c file2.c file3.c
編譯器會輸出名為 file1.exe
的程式。 若要將名稱變更為 program1.exe
,請新增 /out 連結器選項:
cl file1.c file2.c file3.c /link /out:program1.exe
若要自動攔截更多程式設計錯誤,建議您使用 /W3 或 /W4 警告層級選項進行編譯:
cl /W4 file1.c file2.c file3.c /link /out:program1.exe
編譯器cl.exe有更多選項可供您套用至建置、優化、偵錯和分析程式碼。 如需快速清單,請在開發人員命令提示字元中輸入 cl /?
。 您也可以個別編譯和連結,並在更複雜的建置案例中套用連結器選項。 如需編譯器和連結器選項和使用方式的詳細資訊,請參閱 C/C++ 建置參考。
您可以使用 NMAKE 和 makefiles,或MSBuild和專案檔,在命令列上設定及建置更複雜的專案。 如需使用這些工具的詳細資訊,請參閱NMAKE 參考和MSBuild。
C 和 C++ 語言很類似,但不同。 Microsoft C/C++ 編譯器 (MSVC) 會使用基本規則來判斷編譯器代碼時要使用的語言。 根據預設,MSVC編譯器會將 結尾 .c
的所有檔案視為 C 原始程式碼,以及以 C++ 原始程式碼結尾 .cpp
的所有檔案。 若要強制編譯器將所有檔案視為 C,不論副檔名為何,請使用 /TC 編譯器選項。
根據預設,MSVC與 ANSI C89 和 ISO C99 標準相容,但不符合規範。 在大部分情況下,可攜式 C 程式碼會如預期般編譯和執行。 編譯器會針對 ISO C11/C17 中的變更提供選擇性支援。 若要使用 C11/C17 支援進行編譯,請使用編譯器旗標 /std:c11
或 /std:c17
。 C11/C17 支援需要Windows SDK 10.0.20201.0 或更新版本。 建議Windows SDK 10.0.22000.0 或更新版本。 您可以從Windows SDK頁面下載最新的 SDK。 如需詳細資訊,以及有關如何安裝和使用此 SDK 進行 C 開發的指示,請參閱在 Visual Studio 中安裝 C11 和 C17 支援。
某些程式庫函式和 POSIX 函式名稱已被MSVC取代。 支援函式,但慣用的名稱已變更。 如需詳細資訊,請參閱CRT 的安全性功能和編譯器警告 (層級 3) C4996。
逐步解說:建立標準 C++ 程式 (C++)
C 語言參考
專案與建置系統