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继续执行

实际项目流程:





相关推荐
零号全栈寒江独钓1 小时前
基于c/c++实现linux/windows跨平台获取ntp网络时间戳
linux·c语言·c++·windows
左手厨刀右手茼蒿2 小时前
Linux 内核中的进程管理:从创建到终止
linux·嵌入式·系统内核
geinvse_seg2 小时前
中小团队如何低成本搭建项目管理系统?基于 Ubuntu 的 Dootask 私有化部署实战
linux·运维·ubuntu
CSCN新手听安2 小时前
【linux】高级IO,以ET模式运行的epoll版本的TCP服务器实现reactor反应堆
linux·运维·服务器·c++·高级io·epoll·reactor反应堆
丶伯爵式2 小时前
Ubuntu 24.04 更换国内软件源指南 | 2026年3月26日
linux·运维·ubuntu·国内源·升级
左手厨刀右手茼蒿2 小时前
Linux 内核中的 DMA 管理:从缓冲区到传输
linux·嵌入式·系统内核
Java后端的Ai之路2 小时前
Linux端口进程查找与终止教程
linux·运维·服务器
北山有鸟4 小时前
【学习笔记】MIPI CSI-2 协议全解析:从底层封包到像素解析
linux·驱动开发·笔记·学习·相机
mounter6254 小时前
深度解析:Linux 内核为何要移除“直接映射” (Direct Map)?
linux·运维·服务器·security·linux kernel·direct mem map
bugu___5 小时前
Linux系统、网络知识点回顾1
linux·网络