欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-04-02 18:58:09
...

    首先看了很多网上关于使用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调试即可


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



相关标签: c linux vscode