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

实际项目流程:





相关推荐
lolo大魔王2 小时前
Linux 文件系统超全面详解(原理、结构、挂载、分区、inode、日志、管理命令)
linux·运维·服务器
磊 子3 小时前
详细讲解一下epoll
linux·io·epoll·io多路复用
printfLILEI4 小时前
php中的类与对象以及反序列化
linux·开发语言·php
叠叠乐5 小时前
redmi k90 pro max 强解BL,刷海外rom, 并刷入sukisu ultra
linux
xiaoye-duck6 小时前
《Linux系统编程》Linux 进程间通信之管道基础解析:从匿名管道原理到基于管道的进程池实现
linux
z200509306 小时前
【Linux学习】Linux中的进程程序替换
linux·服务器·学习
bush47 小时前
嵌入式linux学习记录四
linux·运维·学习
lihao lihao8 小时前
软硬链接
linux·运维·服务器
YY&DS8 小时前
Qt 嵌入 CEF 在 Linux 下必须设置 `QT_XCB_GL_INTEGRATION=xcb_egl才能加载网页
linux·开发语言·qt