Share via


適用於 UNIX 使用者的 Microsoft C++ 簡介

本主題提供各種 UNIX 使用者的資訊,這些使用者不熟悉 Visual Studio,並想要從命令列或使用 Visual Studio 透過 C++ 提高生產力。 您可以將 Visual Studio 與 Microsoft C++ 編譯器搭配使用,以 Windows 為目標。 您也可以在 UNIX 環境中搭配 GCC 或 Clang 使用 Visual Studio IDE,例如遠端 Linux 機器、MinGW-w64 和 Windows 子系統 Linux 版。 若要在 Visual Studio 中使用 C++, 必須安裝使用 C++ 的桌面開發工作負載。 開啟Visual Studio 安裝程式以安裝工作負載或新增或移除選用元件。 如果您要以遠端 Linux 電腦為目標,請安裝 使用 C++ 進行 Linux 開發工作負載。 針對 Android 或 iOS 開發,請安裝 使用 C++ 進行行動開發工作負載。

在命令列上開始使用

您可以使用命令列中的 Microsoft C++ 編譯器,就像使用 UNIX 命令列環境一樣。 您可以從命令提示字元,使用命令列 C 和 C++ 編譯器 (CL.EXE)、連結器 (LINK.EXE) 和其他工具進行編譯,包括 Microsoft 版的 UNIX make 公用程式 NMAKE.EXE。

在 UNIX 中,命令會安裝在通用資料夾中,例如 /usr/bin。 在 Visual Studio 中,命令列工具會安裝在您的 Visual Studio 安裝目錄 (VC\bin 子目錄中) 及其子目錄中。 不同於 UNIX,這些工具無法從一般命令提示字元視窗存取。 若要使用命令列工具,您必須使用特殊的開發人員命令提示字元,以設定編譯 C++ 程式所需的路徑和其他環境變數。 如需詳細資訊,請參閱在命令列上建置 C/C++ 程式碼逐步解說:在命令列上編譯原生 C++ 程式

偵錯您的程式碼

您可以從命令列或 IDE 內,使用適用于 Microsoft C++ 專案的 Visual Studio 偵錯工具。 使用 /Z7、/Zi、/ZI (偵錯資訊格式) 參數進行編譯,以啟用逐步執行來源。 如需詳細資訊,請參閱偵錯原生程式碼使用 Visual Studio IDE 進行 C++ 桌面程式開發

針對使用 GCC 或 Clang 編譯的程式,Visual Studio 會叫用 GDB、LLDB 或任何您指定的自訂偵錯工具。

Visual Studio 專案系統

Visual Studio 專案系統稱為 MSBuild。 它會使用 XML 格式的專案檔;C++ 專案檔的副檔名為 .vcxproj。 應用程式是由多個程式庫和可執行檔所組成,並儲存在屬於單一「方案」的多個專案中,其中每個程式庫和可執行檔可能是以一組不同的編譯器選項,或甚至不同的語言所建置。 方案是將多個專案群組在一起的抽象容器。 方案的相關資訊會儲存在副檔名為 .sln 的方案檔中。 如需詳細資訊,請參閱 Visual Studio 中的方案和專案使用 Visual Studio IDE 進行 C++ 桌面程式開發。 從主功能表中,選擇 [ 檔案 >> 專案 ] 以查看可用的 Visual Studio 專案範本。

從 Visual Studio 2017 開始,會新增 CMake 專案的支援,以及搭配任何任意建置系統使用 Microsoft C++ 編譯器的選項,或是原始程式檔的鬆散資料夾,而且沒有專案檔。 如需詳細資訊,請參閱 Visual Studio 中的 CMake 專案和 Visual Studio 中的 Open Folder 專案。

Microsoft 特定修飾詞

Microsoft 編譯器會實作標準 C 和 C++ 程式設計語言的數個延伸模組,以支援 Windows 作業系統的程式設計。 這些擴充功能可用來指定儲存類別屬性、函式呼叫慣例和基底定址等。 如需所有支援的 C 和 C++ 延伸模組的完整清單,請參閱 Microsoft 特定的修飾詞

您可以使用編譯器選項停用大部分 Microsoft 特定的 C89 /Za 擴充功能。 只有在您想要撰寫程式碼以在需要符合 C89 的多個平臺上執行時,才建議使用此選項。 如需編譯器選項的詳細資訊 /Za ,請參閱 /Za < /Ze 停用語言延伸模組> 。 如需 C 和 C++ 編譯器一致性的詳細資訊,請參閱 Microsoft C/C++ 語言一致性 和非 標準行為

先行編譯標頭

Microsoft C 和 C++ 編譯器提供對任何 C 或 C++ 程式碼進行先行編譯的選項,包括內嵌程式碼。 您可以使用這項效能功能來編譯穩定的程式碼主體,並將程式碼的編譯狀態儲存在檔案中,然後在後續編譯期間,將先行編譯的程式碼與仍在開發中的程式碼結合。 由於穩定的程式碼不需要重新編譯,因此每個後續編譯的速度會更快。

根據預設,會在 pch.hpch.cpp (在 Visual Studio 2017 與較舊版本中則為 stdafx.hstdafx.cpp) 檔案中指定所有先行編譯的程式碼。 如需先行編譯標頭檔的詳細資訊,請參閱建立先行編譯標頭檔

如需詳細資訊,請參閱 在 Windows 上執行 Linux 程式。

另請參閱

專案和建置系統