Linux 编译和调试

gcc编译

-v / –v / –version 查看gcc版本号

-I 指定头文件目录,注意-I和之间没有空格

 当需要不同路径下的别的文件时使用-I路径

-c 只编译,生成.o文件,不进行链接

-g 包含调试信息 -On n=0∼3 编译优化,n越大优化得越多

带编译信息的比不带编译信息的可执行文件大

-Wall 提示更多警告信息

-D 编译时定义宏,注意-D和之间没有空格

-E 生成预处理文件

-M 生成.c文件与头文件依赖关系以用于Makefile,包括系统库的头文件

-MM 生成.c文件与头文件依赖关系以用于Makefile,不包括系统库的头文件

正常编译

调试

生成可调试的可执行文件

要在编译的时候加-g,生成的可执行文件就带有编译信息了。

进入调试:gdb 可执行文件名字 

退出调试:quit(q)

查看代码:list(l) 行号,显示10行代码

开始调试:start(停在main函数的第一行)

开始调试:run(运行到第一个断点处,如果没有断点直接运行到函数结尾)

逐过程: next(n)

没有进入到调用的函数体内。

逐语句: step(s)

进入到调用的函数体内。

继续执行上一条命令:回车

查看变量的值:print(p) 变量名

持续监控变量:display 变量名

结束持续监控变量:undisplay 变量编号

下断点:break(b) 行号/函数名

查看断点信息:info breakpoints

继续运行到下一个断点处:continue(c)

每次走到断点都会增加断点触发次数,可以使用 info breakpoints 查看。 

临时禁用断点:disable  断点编号

取消禁用断点:enable  断点编号

运行 ./可执行文件名

./a.out

给生成的可执行文件起名 -o

gcc main.c -o app

多个文件一起编译

编译c++

g++ -std=c++11 xxxxx.cpp -o yyy

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值