vscode 配置 C/C++编译环境(完整教程)

下面是“vscode配置C/C++编译环境(完整教程)”的完整攻略:

一、安装vscode和MinGW-w64

1.安装vscode

vscode是一款非常流行的编辑器,使用非常方便,可以在官网 https://code.visualstudio.com/ 下载最新版的安装包进行安装。安装完成后,打开vscode,在左侧菜单栏中搜索并安装“C/C++”插件。

2.安装MinGW-w64

MinGW-w64是一款Windows上的GNU C/C++编译器。可以在官网 https://sourceforge.net/projects/mingw-w64/ 下载最新版的安装包进行安装。在安装过程中,需要选择对应的架构和版本,并添加到环境变量中。

二、配置vscode

1.创建C/C++项目

在vscode中,可以通过创建文件夹并打开文件夹的方式来创建一个C/C++项目。在文件夹中创建一个.h或.cpp文件即可。这里我们以创建一个helloworld例子为例。

2.配置tasks.json

在项目的 .vscode 目录下新建 tasks.json 文件,并将以下代码复制粘贴到文件中:

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": "g++ *.cpp -o main -std=c++11 -g",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": "$gcc"
        }
    ]
}

该代码中,我们定义了一个名为“build”的task,用于编译C++代码。其中,g++命令为编译命令,*.cpp为所有.cpp文件,-o main为输出文件名,-std=c++11为C++语言版本,-g为开启调试信息。

3.配置launch.json

在项目的 .vscode 目录下新建 launch.json 文件,并将以下代码复制粘贴到文件中:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/main.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "gdb",  
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "build"
        }
    ]
}

该代码中,我们定义了一个名为(gdb) Launch的启动配置,用于启动C++程序,并开启gdb调试。其中,program为启动的程序名,cwd为工作目录。

4.运行和调试

在vscode中,可以按下F5键启动程序,并进入gdb调试模式。在调试模式下,可以设置断点、单步执行、查看变量值等操作。

三、示例说明

示例一

下面是一个C++的helloworld程序,用于输出“Hello, World!”到屏幕上。

#include <iostream>

using namespace std;

int main()
{
    cout << "Hello, World!" << endl;
    return 0;
}

在vscode中,将该代码保存为helloworld.cpp文件,并按下F5键。程序将会编译并运行,并在控制台输出“Hello, World!”。

示例二

下面是一个C++的排序程序,用于对数组进行排序。

#include <iostream>
#include <algorithm>

using namespace std;

int main()
{
    int arr[] = {4, 2, 1, 3, 5};
    int n = sizeof(arr) / sizeof(arr[0]);
    sort(arr, arr + n);
    for (int i = 0; i < n; i++)
    {
        cout << arr[i] << " ";
    }
    cout << endl;
    return 0;
}

在vscode中,将该代码保存为sort.cpp文件,并按下F5键。程序将会编译并运行,并在控制台输出排序后的数组内容。在vscode的调试模式下,可以设置断点、单步执行、查看变量值等操作,方便调试。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vscode 配置 C/C++编译环境(完整教程) - Python技术站

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

相关文章

  • 常用的C语言编程工具汇总

    常用的C语言编程工具汇总 概述 C语言是一种非常流行的高级编程语言,开发者们常常使用各种工具来编写、调试、测试他们的C代码。在这里我们进行简单的介绍,列出一些主要的C语言编程工具及其用途。 编辑器 编辑器是C语言编程过程中最基本的工具之一。通常用来编写代码。常用的C语言编辑器有: 1. Visual Studio Code Visual Studio Cod…

    C 2023年5月23日
    00
  • c语言实现输入一组数自动从大到小排列的实例代码

    下面我会为您详细讲解C语言实现输入一组数自动从大到小排列的实例代码,步骤如下: 步骤一:定义数组 定义一个整型数组,这里我们定义为arr,并定义数组大小为10。 int arr[10]; 步骤二:输入数据 通过循环语句输入10个数字,这里我们使用for循环,如下所示: for(int i = 0; i < 10; i++){ printf("…

    C 2023年5月24日
    00
  • VC下通过系统快照实现进程管理的方法

    VC下通过系统快照实现进程管理方法 什么是系统快照 系统快照是指对操作系统当前的状态进行记录和保存。在Windows系统中,我们可以通过快照来获取系统中进程和线程的相关信息,这些信息包括程序的运行状况、CPU使用率、内存使用情况等,可以用于实现进程管理。 快照函数 Windows系统提供了一系列的快照函数,可以用于获取系统当前的状态。其中,最常用的函数包括:…

    C 2023年5月23日
    00
  • 剑网3明教怎么玩_剑网3明教贯木流PVE输出攻略(必看)

    剑网3明教怎么玩 简介 《剑网3》作为一款以武学为主题的MMORPG游戏,拥有多个门派供玩家选择。其中明教门派以其独树一帜的特点,备受玩家们的喜爱。本攻略将为大家介绍明教门派的PVE输出攻略,帮助各位玩家更好地在游戏中玩转明教职业。 明教门派的特点 明教门派主修内功心法,拥有较高的爆发输出和回复能力 明教的操作非常流畅,配合技能后摇短,能够进行多种连招输出 …

    C 2023年5月22日
    00
  • C语言中pthread_exit()函数实现终止线程

    下面是详细讲解“C语言中pthread_exit()函数实现终止线程”的完整攻略: 1. pthread_exit()函数概述 在C语言中,使用pthread库实现多线程编程时,我们可以通过pthread_exit()函数来实现线程的终止。pthread_exit函数可以终止一个线程并返回一个值给thread_join函数。这个返回值可以在主线程中通过调用t…

    C 2023年5月22日
    00
  • C++ STL入门教程(2) list双向链表使用方法(附程序代码)

    概述 STL是一组C++标准程序库,提供了丰富的组件,包括容器、迭代器、算法、函数对象等等。其中STL容器中list是一种双向链表结构。本教程中将详细讲解如何使用C++的STL容器list。 list容器的基本声明 list容器属于C++ STL中的一种容器,因此在使用时需要包含头文件#include<list>。list容器的声明方式如下: l…

    C 2023年5月30日
    00
  • C语言中对数组赋值的三种形式

    针对C语言中对数组赋值的三种形式,我来进行详细的介绍。 一、对固定大小数组的初始化 当我们定义一个固定大小的数组时,我们可以在定义时直接对数组赋值,这样做的形式通常是使用大括号,里面包含着所有的初始元素,形如以下代码: int arr[5] = {1, 2, 3, 4, 5}; 上述代码定义了一个包含5个整型元素的数组,并且对数组进行了初始化赋值,分别赋值为…

    C 2023年5月22日
    00
  • 详解C++编程中的输入输相关的类和对象

    详解C++编程中的输入输出相关的类和对象 在C++语言中,有关输入输出流的操作由iostream库提供支持。iostream库中包括了三个类:istream、ostream和iostream,其中istream用于读取输入流,ostream用于输出流,而iostream继承了这两个类的所有方法,既可以用来读取输入流,也可以用来输出流。C++中还有一些常用的输…

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