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

实际项目流程:





相关推荐
A小辣椒2 天前
TShark:Wireshark CLI 功能
linux
A小辣椒2 天前
TShark:基础知识
linux
AlfredZhao2 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao3 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334663 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪3 天前
linux 拷贝文件或目录到指定的位置
linux
摇滚侠4 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush44 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5204 天前
Linux 11 动态监控指令top
linux
不会C语言的男孩4 天前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言