MinGW-w64点进去等一下就会自动开始下载
将下载的7z文件解压至自己所需的位置,我这里是在C盘新建了一个文件夹,然后将下载的文件解压到这个文件夹里
在解压出来的文件夹中,找到g++.exe所在的bin文件夹路径。在我电脑上为C:\mingw-w64\x86_64-8.1.0-release-posix-seh-rt_v6-rev0\mingw64\bin
,记住这个路径
打开cmd,输入命令gcc --version
和g++ --version
以验证C编译器和C++编译器是否安装完成
出现这种信息代表安装完成
按图中的步骤分别安装Code Runner、C/C++。不想看英文的同学也可以安装下图中的第六个插件,可以让VSCode变成在中文,不过可能会使VSCode重启
首先在桌面创建文件夹,我创建了一个C++_learn的文件夹。
进入文件夹后,点击在终端中打开
输入code .
,即可成功打开VSCode
然后创建新的cpp文件
点进去随便打一点代码,例如
#include
using namespace std;
int main(){
cout << "hello world" << endl;
return 0;
}
然后按下Ctrl+F5,会跳出以下界面,选择C++(GDB/LLDB)
然后点击第一项,就是下图中的蓝色的选项
此时在他运行之后,左边的资源管理器会多了几个文件。
这里有三个json文件需要配置,分别是tasks.json、launch.json、c_cpp_propertise.json三个文件。
我们通过上述步骤的操作会多一个.vscode
的文件夹
进入这个文件夹,创建下面三个文件,然后把对应的内容填入到对应的文件当中。内容就是下面的2.1 、2.2、 2.3这三个文件可以存一下云盘,以后如果再配置就可以直接从云盘上下载下来改一改参数就能用了
{
"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"
}
{
"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值一样
}
]
}
{
"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
#include
#include
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