VSCode—windows上配置C/C++的编译与调试


一、安装C/C++编译器

1.访问链接下载

MinGW-w64点进去等一下就会自动开始下载

2.解压至指定盘

将下载的7z文件解压至自己所需的位置,我这里是在C盘新建了一个文件夹,然后将下载的文件解压到这个文件夹里
在这里插入图片描述

3.找到bin文件夹路径

在解压出来的文件夹中,找到g++.exe所在的bin文件夹路径。在我电脑上为C:\mingw-w64\x86_64-8.1.0-release-posix-seh-rt_v6-rev0\mingw64\bin,记住这个路径

4.配置环境变量

右击此电脑,点击属性
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
然后一路确定,环境变量就配置好了

5.验证安装

打开cmd,输入命令gcc --versiong++ --version以验证C编译器和C++编译器是否安装完成
在这里插入图片描述
出现这种信息代表安装完成


二、安装插件

按图中的步骤分别安装Code Runner、C/C++。不想看英文的同学也可以安装下图中的第六个插件,可以让VSCode变成在中文,不过可能会使VSCode重启
在这里插入图片描述


三、配置json文件

1.启动VSCode并新建cpp文件

首先在桌面创建文件夹,我创建了一个C++_learn的文件夹。
。。
进入文件夹后,点击在终端中打开
在这里插入图片描述
输入code .,即可成功打开VSCode
然后创建新的cpp文件
在这里插入图片描述
点进去随便打一点代码,例如

#include<iostream>
using namespace std;
int main(){
    cout << "hello world" << endl;
    return 0;
}

然后按下Ctrl+F5,会跳出以下界面,选择C++(GDB/LLDB)

在这里插入图片描述
然后点击第一项,就是下图中的蓝色的选项
在这里插入图片描述
此时在他运行之后,左边的资源管理器会多了几个文件。
在这里插入图片描述

2.配置json文件

这里有三个json文件需要配置,分别是tasks.json、launch.json、c_cpp_propertise.json三个文件。
我们通过上述步骤的操作会多一个.vscode的文件夹
在这里插入图片描述
进入这个文件夹,创建下面三个文件,然后把对应的内容填入到对应的文件当中。内容就是下面的2.12.22.3这三个文件可以存一下云盘,以后如果再配置就可以直接从云盘上下载下来改一改参数就能用了
在这里插入图片描述

2.1 tasks.json

{
    "tasks": [
        {
            "type": "shell",
            "label": "C/C++: g++.exe 生成活动文件",
            "command": "C:\\mingw-w64\\x86_64-8.1.0-release-posix-seh-rt_v6-rev0\\mingw64\\bin\\g++.exe",
            //command里面是g++.exe的文件路径位置,就是第一步的bin文件夹里的g++.exe路径
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "C:\\mingw-w64\\x86_64-8.1.0-release-posix-seh-rt_v6-rev0\\mingw64\\bin"
                //这里就是第一步的bin文件夹的路径(注意这里没有g++.exe)
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "调试器生成的任务。"
        }
    ],
    "version": "2.0.0"
}

2.2 launch.json

{
    "version": "0.2.0",
    "configurations": [
        
        {
            "name": "g++.exe build and debug active file",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "C:\\mingw-w64\\x86_64-8.1.0-release-posix-seh-rt_v6-rev0\\mingw64\\bin\\gdb.exe",
            ////miDebuggerPath里面是gdb.exe的文件路径位置,就是第一步的bin文件夹里的gdb.exe路径
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "C/C++: g++.exe 生成活动文件"
            //这里preLaunchTask的值要和tasks.json里的label值一样
        }
    ]
}

2.3 c_cpp_propertise.json

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "compilerPath": "C:\\mingw-w64\\x86_64-8.1.0-release-posix-seh-rt_v6-rev0\\mingw64\\bin\\gcc.exe",
            //这里也要换成对应的gcc位置
            "cStandard": "gnu17",
            "cppStandard": "gnu++14",
            "intelliSenseMode": "windows-gcc-x86"
        }
    ],
    "version": 4
}

四、配置完成

我找了一份比较复杂的代码

#include<iostream>
#include<algorithm>
#include<string.h>
using namespace std;
const int maxn=1e3+5;
int v[maxn],w[maxn];
int f[maxn][maxn];
int main(){
    int N,V;
    cin>>N>>V;
    for(int i=N;i>=1;i--) cin>>v[i]>>w[i];
    for(int i=1;i<=N;i++){
        for(int j=0;j<=V;j++){
            if(j>=v[i]) f[i][j]=max(f[i-1][j],f[i-1][j-v[i]]+w[i]);
            else f[i][j]=f[i-1][j];
        }
    }
    for(int i=N,num=V;i>=1;i--){
        if(num>=v[i]&&f[i][num]==f[i-1][num-v[i]]+w[i]){
            cout<<N-i+1<<" ";
            num-=v[i];
        }
    }
    cout<<endl;
    return 0;
}

运行一下,填入测试数据

4 5
1 2
2 4
3 4
4 6

得到输出数据

1 4

在这里插入图片描述
配置完成!!!


本文中若有什么错误或者改进想法欢迎和我交流~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rockict_z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值