MSVC+ VS code搭建C/C++开发环境

262 阅读4分钟

引言

微软C++编译器(Microsoft Visual C++,简称MSVC)是由微软公司开发的C和C++编译器,广泛应用于Windows平台上的软件开发。MSVC不仅是Visual Studio开发环境的重要组成部分,也是Windows开发者不可或缺的工具。本文将详细介绍MSVC的功能、特性及其使用方法。

screenshot-1717338383472.png

1. MSVC简介

MSVC是一个功能强大的编译器,支持C++标准及其最新特性,同时提供许多微软特有的扩展。它具有高效的编译性能和优秀的优化能力,能够生成高质量的机器代码。此外,MSVC还集成了调试器、库和工具,极大地简化了开发过程。

2. MSVC的主要特性

  1. 标准兼容性: MSVC支持C++的最新标准,包括C++11、C++14、C++17和C++20。这使得开发者能够使用最新的语言特性,提高代码的可读性和效率。

  2. 高效的优化: MSVC的编译器具有强大的优化能力,能够在编译过程中对代码进行多种优化,从而生成高性能的可执行文件。

  3. 调试和诊断工具: MSVC集成了强大的调试器,支持断点调试、内存检查、性能分析等功能。这些工具帮助开发者快速定位和修复代码中的问题。

  4. 丰富的库支持: MSVC提供了丰富的标准库和微软特有的库,如STL(标准模板库)、MFC(微软基础类库)和ATL(Active模板库)。这些库大大简化了常见任务的实现。

  5. 集成开发环境: MSVC是Visual Studio的一部分,提供了一个集成的开发环境(IDE),支持代码编辑、编译、调试和部署等全方位的开发工作。

3. 安装和配置MSVC

MSVC可以通过Visual Studio或Visual Studio Build Tools安装。以下是安装和配置的基本步骤:

  1. 安装Visual Studio

    • 前往Visual Studio官方网站,下载并安装最新版本的Visual Studio。
    • 在安装过程中,选择“使用C++的桌面开发”工作负载。这将安装MSVC编译器及其他必要的工具。
  2. 安装Visual Studio Build Tools(适用于不需要完整IDE的用户):

    • 前往Visual Studio Build Tools下载页面,下载并安装最新版本的Build Tools。
    • 在安装界面中,选择“使用C++的桌面开发”工作负载。
    • 通过winget安装:
winget install Microsoft.VisualStudio.2022.BuildTools --force --override "--wait --passive --add Microsoft.VisualStudio.Workload.VCTools --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --add Microsoft.VisualStudio.Component.Windows11SDK.22000"

4. 使用MSVC编译C/C++程序

使用MSVC编译C/C++程序可以通过命令行工具或集成开发环境完成。以下是使用命令行工具的基本步骤:

  1. 打开开发者命令提示符

    • 在开始菜单中,搜索“x64 Native Tools Command Prompt for VS 2022”或相似名称,打开开发者命令提示符。
  2. 编译C/C++程序

    • 在命令提示符中,导航到包含源代码的目录,输入以下命令进行编译:
      cl /EHsc your_program.cpp
      
    • 该命令将编译your_program.cpp文件并生成可执行文件your_program.exe

5. VS Code中配置和使用MSVC

  1. 安装VS Code

  2. 安装C/C++扩展

    • 打开VS Code,点击左侧活动栏中的“扩展”图标,搜索并安装官方的C/C++扩展(由Microsoft提供)。
  3. 配置VS Code任务

    • 在VS Code中,按Ctrl+Shift+P打开命令面板,输入并选择“终端: 配置任务”。
    • tasks.json中添加以下配置,以便使用MSVC编译C/C++代码:
      {
          "version": "2.0.0",
          "tasks": [
              {
                  "label": "cl.exe build",
                  "type": "shell",
                  "command": "cl",
                  "args": [
                      "/EHsc",
                      "${file}",
                      "/Fe:${fileDirname}\\${fileBasenameNoExtension}.exe"
                  ],
                  "group": {
                      "kind": "build",
                      "isDefault": true
                  },
                  "problemMatcher": ["$msCompile"],
                  "detail": "Generated task by Visual Studio Code"
              }
          ]
      }
      
  4. 编写和编译C/C++程序

    • 在VS Code中创建一个新的C/C++文件(如hello.cpp),并编写简单的代码:
      #include <iostream>
      
      int main() {
          std::cout << "Hello, World!" << std::endl;
          return 0;
      }
      
    • 保存文件后,按Ctrl+Shift+B运行编译任务,生成可执行文件。

6. MSVC的高级功能

  1. 并行编译: MSVC支持多线程并行编译,可以显著缩短大型项目的编译时间。可以通过添加/MP选项来启用并行编译:

    cl /EHsc /MP your_program.cpp
    
  2. 编译器扩展: MSVC提供了许多微软特有的扩展,如__declspec关键字,用于指定函数或变量的存储类。这些扩展在开发Windows应用程序时非常有用。

  3. Profile-Guided Optimization (PGO): MSVC支持基于性能分析的优化,通过运行程序收集性能数据,然后使用这些数据指导编译器进行优化。使用PGO可以显著提高程序的运行速度。

结论

微软C++编译器(MSVC)是一个功能强大、性能优越的编译器,适用于各种规模的C/C++项目。无论是通过Visual Studio集成开发环境,还是通过轻量级的Visual Studio Build Tools + VS code,开发者都可以利用MSVC进行高效的开发和调试工作。