您的位置:首页 > 运维架构 > Linux

linux下VSCODE编译调试C++流程

2017-07-24 15:19 871 查看
    首先看了很多网上关于使用VSCODE的说明感觉都不是特别清楚。

1.安装VSCODE的流程参考:

linux如何安装vscode

2.关于编译C++过程

    1)安装c/c++编译插件

    2)编写C++代码,hello.cpp

#include<iostream>
#include<stdio.h>
using namespace std;

int main()
{
cout<<"hello VS Code"<<endl;
return 0;
}


  3)编写launch.json.(我的理解是调试时调用)

{
"version": "0.2.0",
"configurations": [
{
"name": "C++ Launch",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceRoot}/hello",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceRoot}",
"environment": [],
"externalConsole": true,
"preLaunchTask": "build",
"linux": {
"MIMode": "gdb"
},
"osx": {
"MIMode": "lldb"
},
"windows": {
"MIMode": "gdb"
}
}
]
}
注意:
"program": "${workspaceRoot}/hello",
这行是要调试的入口,但是呢,我们刚才的cpp是没有编译过的,需要一个task把我们的工程给编译。所以要预编译

"preLaunchTask": "build",
这就是需要taks的功能。

   4)编写tasks.json

{
"version": "0.1.0",
"showOutput": "always",
"tasks": [
{
"taskName": "build",
"command": "make",
"isShellCommand": true,
"showOutput": "always",
"args": ["-f", "build"]
}
]
}
其中

"taskName": "build",


就是前置task的名字。

那这里我们是一个cpp,那如果我们是一个很大的工程总不能一个个cpp编译吧。

在linux下提供了make功能。

所以这里的task我们采用了makefile来做这件事情。

    5)编写makefile文件

hello:hello.o
g++ hello.o -o hello
hello.o:hello.cpp
g++ -c -o hello.o hello.cpp
clean:
rm -f *.o


这里通过g++生产最后的可执行文件hello。

回到上面的launch就是执行了这个hello文件。

    6)直接按下F5调试即可

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c linux vscode