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

    首先看了很多网上关于使用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的功能。

当你按f5的时候会自动弹出让你编写一个task.json.

当然你可以按f1,直接编写一个task.json.

  1. Open a folder with vscode
  2. Hit F1
  3. Select "Tasks: Configure Task Runner"
  4. Hit Enter and vscode will create a sample task.json for you

 

   4)编写tasks.json

 

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

其中

 

 

 "taskName": "build",

 

就是前置task的名字。这个是比较老的格式,新的vscode有新的变化.新的格式如下:

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": "cd build && make"
        }
    ]
}

那这里我们是一个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调试即可

 

 

 

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页