Visual Studio Code (VSCode) 配置搭建 C/C++ 开发编译环境的流程

下面是关于Visual Studio Code (VSCode) 配置搭建 C/C++ 开发编译环境的流程的完整攻略:

准备工作

Step 1 安装Visual Studio Code

首先,我们需要在官网下载并安装 Visual Studio Code,官网地址为:https://code.visualstudio.com/

Step 2 安装C/C++插件

进入Visual Studio Code软件,按下Ctrl+Shift+X快捷键,打开扩展页面,在搜索框中输入“C/C++”,选择官方提供的C/C++插件并安装。

Step 3 安装C/C++编译器

接下来,我们需要安装C/C++编译器,这里提供两个比较常见的编译器:

  • MinGW编译器(适用于Windows和Linux系统)下载地址:https://sourceforge.net/projects/mingw/
  • LLVM编译器(适用于MacOS和Linux系统)下载地址:http://releases.llvm.org/download.html

Step 4 配置环境变量

安装完编译器后,需要将编译器的路径添加到系统的环境变量中。以MinGW为例,我们可以进入MinGW的安装目录,并在bin目录下获取gcc.exe和g++.exe的路径。在系统的环境变量中添加这两个路径即可。

配置调试器

Step 1 安装调试器

为了方便调试,我们需要安装调试器。这里使用官方插件GDB/LLDB,可以支持Windows,Linux和MacOS系统。同样在扩展页面中搜索并安装即可。

Step 2 配置调试器

在Visual Studio Code的“调试”菜单中,点击“添加配置”按钮,选择“C++(GDB/LLDB)”配置。此时Visual Studio Code会自动在工作区的.vscode目录下创建一个launch.json的文件,这个文件即为调试器的配置文件。

其中,需要配置以下内容:

  • type:调试器类型。默认为"GDB",若需要使用LLDB,则将其设置为"lldb"。
  • name:配置名称。
  • request:启动配置的类型。默认为"launch",若需要附加进程,则将其设置为"attach"。
  • program:需要启动调试的程序名称或路径。
  • args:程序所需的命令行参数,可以为空。
  • cwd:程序的工作目录。
  • environment:指定程序的环境变量。
  • externalConsole:默认为false,若为true,则会将控制台输出到VSCode外部的终端上。

配置编译器

Step 1 在VSCode中创建一个C++项目

在VSCode中创建一个新的空文件夹,并在其中新建一个main.cpp文件,包含以下代码:

#include <iostream>

using namespace std;

int main()
{
    cout << "Hello, world!" << endl;

    return 0;
}

Step 2 配置编译器

打开工作区的.vscode目录下的task.json文件。这个任务文件用于描述编译和构建的任务,其中需要配置以下内容:

  • label:编译任务的名称。
  • type:编译器的类型。默认为"shell",若需要使用其他编译器,则可自定义该字段的值。
  • command:编译器的命令。使用编译器时需要指定,例如:"g++"或"clang"等。
  • args:传递给编译器的参数。例如:['${file}', '-o', '${fileDirname}/${fileBasenameNoExtension}']。

下面是一个示例:

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": "g++",
            "args": [
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ]
        }
    ]
}

在此完成之后,打开main.cpp文件,按下Ctrl+Shift+B快捷键,将会弹出"Select a task"的对话框,选择"build"任务,VSCode就会使用配置的编译器来编译并构建程序,生成一个可执行文件。

示例

示例1:使用MinGW编译器编译和调试C++程序

Step 1. 配置任务文件task.json

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": "g++",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}.exe"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

Step 2. 配置调试器launch.json

"configurations": [
    {
        "name": "g++ - 生成和调试活动文件",
        "type": "cppdbg",
        "request": "launch",
        "program": "${fileDirname}/${fileBasenameNoExtension}.exe",
        "args": [],
        "stopAtEntry": false,
        "cwd": "${workspaceFolder}",
        "environment": [],
        "externalConsole": true,
        "MIMode": "gdb",
        "setupCommands": [
            {
                "description": "为 gdb 启用整齐格式",
                "text": "-enable-pretty-printing",
                "ignoreFailures": true
            }
        ],
        "preLaunchTask": "build",
        "miDebuggerPath": "C:\\MinGW\\bin\\gdb.exe",
        "miDebuggerArgs": "--interpreter=mi2"
    }
]

Step 3. 点击调试按钮

在main.cpp文件中的代码中添加 breakpoint(断点)后,点击工具栏中的调试按钮即可开始调试 C++ 程序。

示例2:使用LLVM编译器编译和调试C++程序

Step 1. 配置任务文件task.json

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": "clang++",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

Step 2. 配置调试器launch.json

"configurations": [
    {
        "name": "(lldb) 调试",
        "type": "cppdbg",
        "request": "launch",
        "program": "${fileDirname}/${fileBasenameNoExtension}",
        "args": [],
        "stopAtEntry": false,
        "cwd": "${workspaceFolder}",
        "environment": [],
        "externalConsole": false,
        "MIMode": "lldb",
        "preLaunchTask": "build",
        "logging": {
            "engineLogging": true,
            "trace": true,
            "traceResponse": true
        }
    }
]

Step 3. 点击调试按钮

在main.cpp文件中的代码中添加 breakpoint(断点)后,点击工具栏中的调试按钮即可开始调试 C++ 程序。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Visual Studio Code (VSCode) 配置搭建 C/C++ 开发编译环境的流程 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • 开机显示文件BOOT.INI非法正从C:\windows\启动怎么办?

    “开机显示文件BOOT.INI非法正从C:\windows\启动怎么办?”的完整攻略 症状描述 当开机时,可能会遇到以下错误信息: 文件BOOT.INI非法 正从C:\windows\启动 该错误表明系统在启动时无法找到或读取BOOT.INI文件,因此无法引导操作系统。 解决步骤 步骤一:准备Windows系统安装光盘或U盘 由于Windows安装光盘或U盘…

    C 2023年5月23日
    00
  • javascript面向对象程序设计高级特性经典教程(值得收藏)

    JavaScript面向对象程序设计高级特性经典教程攻略 概述 《JavaScript面向对象程序设计高级特性经典教程》是一本介绍JavaScript高级特性的书籍,重点讲解了JavaScript中的面向对象编程(OOP)技术,包括构造函数、原型、继承、类、模块等内容。通过本书的学习,可以掌握JavaScript中的高级编程技巧,并可以编写复杂的JavaSc…

    C 2023年5月22日
    00
  • 关键字和标识符的区别

    关键字(Keyword)和标识符(Identifier)是编程语言中的重要概念,两者经常被程序员混淆。本攻略将详细解释关键字和标识符的区别,为程序员提供清晰明了的理解。 关键字和标识符的概念解释 关键字是什么? 关键字是编程语言中的保留字,具有特殊含义,不能用作标识符命名变量、函数或其他实体。在编译器或解释器中,关键字会被特别处理,一般用于控制程序结构、数据…

    C 2023年5月10日
    00
  • 深入解析C语言中常数的数据类型

    深入解析C语言中常数的数据类型 在C语言中,常数的数据类型也是十分重要的。正确理解常数的类型、范围和精度对于编写高质量的程序至关重要。在本文中,我们将深入探讨C语言中常数的数据类型,并提供两个示例以帮助理解。 整数常数 在C语言中,整数常数可以表示为十进制、八进制或十六进制形式。整数常数的类型(即有符号或无符号)和大小(即占用的位数)取决于它的值和后缀。 举…

    C 2023年5月23日
    00
  • 浅谈go中cgo的几种使用方式

    浅谈 Go 中 Cgo 的几种使用方式 Cgo 是 Go 语言中的一个重要特性,它可以被用来在 Go 代码中调用 C 语言函数。Cgo 是 Go 语言最独特的特性之一,它可以让开发者直接使用 C 代码功能,也可以将 Go 代码转为 C 代码,这样就可以在 Go 中直接使用 C 库,同时也能够保证 Go 语言的安全性。 Cgo 中的基本使用 使用 Cgo 调用…

    C 2023年5月23日
    00
  • C语言中的正则表达式使用示例详解

    C语言中的正则表达式使用示例详解 正则表达式是一种通用的文本匹配模式,可以在C语言中用来进行字符串的匹配和处理。C语言提供了regex库来支持正则表达式的使用。接下来,将为您详细讲解C语言中正则表达式的使用,包括正则表达式语法、函数调用和示例说明。 正则表达式语法 正则表达式语法是一组规则,用于描述文本模式匹配的方式。在C语言中,正则表达式的语法由一些特殊字…

    C 2023年5月23日
    00
  • windows下如何安装OpenCL

    安装OpenCL可以使你的电脑更好地支持并行计算、图形处理、机器学习等任务。以下是Windows下安装OpenCL的完整攻略。 一、检查显卡是否支持OpenCL 在安装OpenCL之前,需要确保你的显卡支持OpenCL。可以在显卡厂商的官网上查找相关信息,或者使用GPU-Z、Speccy等工具检查显卡信息。 二、下载OpenCL驱动程序 下载对应的OpenC…

    C 2023年5月23日
    00
  • Kotlin的枚举与异常示例详解

    Kotlin的枚举与异常示例详解 枚举(Enum) 枚举是指具有固定数量的、有限的、不同类型的值的集合,它们被定义在枚举类中。在Kotlin中,使用enum class关键字来声明一个枚举类。 声明枚举类型 下面是一个基本的颜色枚举类型的示例: enum class Color { RED, ORANGE, YELLOW, GREEN, BLUE, INDI…

    C 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部