Linux g++编译与GDB调试完整流程(文末附图)

验证安装
C++

cpp 复制代码
which g++
g++ --version

C

c 复制代码
which gcc
gcc --version

安装

csharp 复制代码
**centOs**:sudo yum install gcc
**centOs**:sudo yum install g++
**ubuntu**:sudo apt-get install gcc
**ubuntu**:sudo apt-get install g++
**kyLin**:sudo pkcon install gcc
**kyLin**:sudo pkcon install gcc-c++

编译链接

单文件编译为程序

cpp 复制代码
g++ -o main main.cpp;//需要链接

多文件编译为程序

cpp 复制代码
g++ -o func1.o -c func1.cpp//独立的,不链接
g++ -o func2.o -c func2.cpp
g++ -o main.o -c main.cpp
g++ -o main func1.o func2.o main.o//需要链接

其它

cpp 复制代码
-I/   包含文件路径,一般为头文件
-L/   库路径 .a 和.so
-g  输出debug程序
-std=c++11 使用C++11标准

GDB 调试

验证安装

cpp 复制代码
which gdb
sudo yum install gdb
sudo apt-get install gdb
sudo pkcon install gdb

调试

cpp 复制代码
l   //显示code,每次10行
r  //运行
b 行号 //打断点
info b  //查看断点信息
d  断点序号 //删除断点
disable b 序号 //禁用断点
enable b 序号 //开启断点
n  //逐过程VS F10
s  //逐语句VS F11
p 变量名 //打印值
display 变量名 //跟踪变量
undisplay 序号 //取消跟踪
finish //执行到函数末尾
c //VS继续执行

实际项目流程:





相关推荐
qetfw34 分钟前
Bash 变量:export、位置参数与默认值展开验证
linux·开发语言·chrome·bash
其实防守也摸鱼1 小时前
Cylab在线靶场——CTF中的通用技能
linux·数据库·学习·算法·靶场·ctf·学习网络安全
toooooop81 小时前
CentOS 7 内核 3.10.0-1160.119.1 升级指南
linux·运维·centos
码少女2 小时前
Linux——UDP协议和TCP协议
linux·网络·udp·tcp
GeW2 小时前
新质生产力发展路线图Linux、数据库、AI 一个都不能少
linux
kkkkkkkkkk_Z2 小时前
新手自学嵌入式 | 学习日记:Linux驱动复习之系统移植(U-Boot篇)
linux·运维·学习
Rabitebla2 小时前
【系统性学习笔记】Linux 权限篇(二):文件属性、权限修改与目录权限的底层逻辑
linux·c++·笔记·学习·算法
Lsetea4 小时前
curl下载HTTPS文件报23:证书验证成功与本地写入失败分层排查
linux·https·shell·ssl证书·curl
云计算练习生4 小时前
什么是文件权限?Linux 中 rwx 与数字权限的对应关系
linux·运维·服务器·操作系统·文件权限管理
叼烟扛炮4 小时前
Linux 学习笔记(十三):高效排错利器——GDB 调试器入门
linux·笔记·学习