首页 > 编程语言 >vscode调试C++代码,及makefile

vscode调试C++代码,及makefile

时间:2022-10-25 17:24:34浏览次数:40  
标签:src objs %. vscode pro makefile C++ gdb directory

 

 launch.json

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) 启动",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/pro",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
            ],
            "preLaunchTask": "build",
            "miDebuggerPath": "/usr/bin/gdb"
        }
    ]
}
View Code

tasks.json

{
    // 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": "make pro",
            "options": {
                "cwd": "${workspaceFolder}"
            }
        }
    ]
}
View Code

makefile

src_directory := src
obj_directory := obj

srcs := $(shell find $(src_directory) -name "*.cpp")
objs := $(patsubst %.cpp,%.o,$(srcs))
objs := $(subst $(src_directory),$(obj_directory),$(objs))

.PHONY: debug run


debug:
    @echo $(objs)

pro: ${objs}
    @g++ $^ -o $@

run:pro
    @./pro

$(obj_directory)/%.o : $(src_directory)/%.cpp
    @g++ -g -c $< -o $@


# $< 第一个生产项
# $^ 所有的生成项
# $@ 第一个生产项
View Code

 



 

标签:src,objs,%.,vscode,pro,makefile,C++,gdb,directory
From: https://www.cnblogs.com/xiaoruirui/p/16825549.html

相关文章

  • (C++) 类与 static_cast 与 dynamic_cast
    static_caststatic_cast相当于C语言里面的强制转换,适用于:用于类层次结构中基类(父类)和派生类(子类)之间指针或引用的转换。进行上行转换(把派生类的指针或引用转换成基类表......
  • C/C++飞机订票系统
    C/C++飞机订票系统设计一个飞机订票系统,通过此系统可以实现如下功能:(1)录入:可以录入航班信息(具体内容自定);(2)查询:可以查询某个航线的情况;(3)订票:可以订票,如......
  • 实验3 数组、指针与现代C++标准库
    实验任务5:info.hpp文件源码 1#pragmaonce2#include<string>3#include<iostream>4#include<iomanip>5usingnamespacestd;6classinfo{7pub......
  • 构建 Flutter 应用程序的10个最佳 VSCode 插件
    构建Flutter应用程序的10个最佳VSCode插件在本文中,我们将分享使用VisualStudio代码(VSCode)IDE的经验。我们的开发团队更喜欢使用某些插件,这里我们将解释原因......
  • C++ 不知树系列之初识树(树的邻接矩阵、双亲孩子表示法……)
    1.前言树是一种很重要的数据结构,最初对数据结构的定义就是指对树和图的研究,后来才广义化了数据结构这个概念。从而可看出树和图在数结构这一研究领域的重要性。树和图重......
  • POJ 3748(C++的16进制读法 %x)
    P党写几小时的程序C++才几行……首先P的位运算有上限2^30此时即便是int64也会因为补码坑死人的到1shl31时 int64是负数故这个时候不能shr为多出好多位造成以......
  • C++ visit
    C++visit#include<iostream>structOutput{intm_i{8};template<typenameF>voidvisit(F&f){f(this->m_i);}template<typename......
  • 求和式 (C++ 坑爹的<<,>>,%lld)
    求和式(x3)题目描述作为本场考试的第一题,你的任务十分简单:给定长度为n的序列A[i],求所有A[i]xorA[j](i<j)的值之和 输入第一行一个整数N接下来N行,第i行为A[i]输出所需的值......
  • c++ accumulate
    用于累加数组元素普通用法:accumulate(首指针,末指针,累加初始值)除了对数字求和还可以连接字符串#include<bits/stdc++.h>usingnamespacestd;vector<string>v;vector<i......
  • C++/C 规范:命名规范和注释
    变量变量命名里面只能是名词,不能有动词宏:全部大写,如:FRAME_SIZE变量:驼峰命名规则,首个单词小写,如:myFrameSize全局变量:在变量前后添加字母G,如:myFrameSizeG函数尽量......