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日

相关文章

  • Win7系统蓝屏提示0x000000CA错误代码的解决方法

    Win7系统蓝屏提示0x000000CA错误代码的解决方法 前言 在使用Windows 7操作系统的过程中,有时候会遇到蓝屏错误提示,其中错误代码为0x000000CA。此错误通常与内存的使用有关,但具体问题可能很多。本文将提供一些解决方案,帮助您解决这个问题。 解决方案 方法一:检查硬件 首先,我们需要检查硬件是否正常工作。有一些问题可能会导致0x0000…

    C 2023年5月23日
    00
  • python多线程同步实例教程

    下面我会详细讲解“Python多线程同步实例教程”的完整攻略。 Python多线程同步实例教程 什么是多线程同步? 多线程同步是指,在多线程环境中,协调各个线程之间的执行顺序,避免线程之间的竞争问题,使得线程能够协调合作,实现正确的程序逻辑。 Python多线程同步的方法 Python多线程同步有以下几种方法: Lock(锁) Lock是Python中最基本…

    C 2023年5月22日
    00
  • VC++ 6.0 C语言实现俄罗斯方块详细教程

    VC++ 6.0 C语言实现俄罗斯方块详细教程 简介 俄罗斯方块是一款经典的游戏,本教程将介绍如何使用VC++ 6.0和C语言实现俄罗斯方块游戏。 准备工作 首先,我们需要安装VC++ 6.0环境。可以在这里下载VC++ 6.0安装包,并进行安装。 创建工程 打开VC++ 6.0,选择File -> New -> Project,选择Win32 …

    C 2023年5月23日
    00
  • 一文学会Mysql数据库备份与恢复

    一文学会Mysql数据库备份与恢复 数据库是网站开发中必不可少的基础技能之一,而数据库备份和恢复是保证网站数据安全的重要手段。本文将为大家介绍如何进行Mysql数据库备份和恢复操作,并提供两个示例用于说明。 一、Mysql数据库备份 1.使用mysqldump命令进行备份 使用mysqldump命令,可以将Mysql数据库中的数据表数据导出为sql语句,从而…

    C 2023年5月22日
    00
  • C语言用指针支持数据结构

    以下是关于“C语言用指针支持数据结构”的完整使用攻略。 什么是数据结构 数据结构是计算机存储、组织数据的方式。数据在计算机内部的存储形式可以是内存、硬盘等,而数据结构则指的是数据在计算机中的逻辑关系和布局。一些常用的数据结构包括数组、链表、栈、队列、二叉树等。在程序设计中,我们常常需要运用数据结构这些工具和算法来处理数据。 C语言指针与数据结构 C语言中的指…

    C 2023年5月9日
    00
  • C语言使用指针前未初始化

    当我们使用C语言中的指针时,必须首先将指针初始化为一个合法的内存地址,否则就会发生未定义行为。未初始化指针可能仍然包含已分配给其他部分的地址值。这可能会导致在对该地址进行引用(解除引用)时出现崩溃或未知行为。本文将讲解如何在C语言中使用指针前正确初始化指针。 初始化指针 方法一:使用赋值语句初始化指针 可以通过简单地在定义指针变量时,设置为NULL指针进行初…

    C 2023年5月9日
    00
  • C语言实现全排列算法模板的方法

    C语言实现全排列算法,是一个经典的算法问题,其思路也很简单。下面是实现全排列算法的详细攻略。 问题背景 给定长度为n的数组arr,将arr进行全排列。 也就是说,对于arr中的任意两个元素a和b(a不等于b),排列结果中a和b的相对位置可能不同。 解题思路 我们可以按以下步骤来实现全排列算法。 首先从数组的第一个元素开始,将其与后面的所有元素交换位置 交换后…

    C 2023年5月22日
    00
  • C语言 实现输入任意多个整数

    要实现输入任意多个整数,可以使用C语言中的循环和数组来完成。以下是具体实现的步骤: 步骤一:定义变量和数组 首先要定义一个整型数组,用来存储输入的整数。同时还要定义一个变量来记录输入的整数个数,以此方便后续的循环。 int nums[100]; // 定义一个数组,用来存储输入的整数 int count = 0; // 定义一个变量,用来记录输入的整数个数 …

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