C语言·编译器与调试器

编译器


  1. GCC(linux)
  2. CLang(mac)
#编译指令
gcc/clang -g -O2 -o test test.c -I... -L... -l
#-g 输出调试信息
#-O 指令优化级别
#-o 输出文件
#-I 指定头文件位置
#-L 指定库文件位置
#-l 指定使用什么库

编译过程

预编译
编译
链接

链接分为:动态链接/静态链接

编译
clang -g -c add.c
#-c 仅仅编译

生成库

libtool -static -o libmylib.a add.o

测试

gcc/clang -g -o testlib testlib.c -I . -L . -lmylib

调试器


  1. Gdb
  2. lldb
指令gdblldb
设置断点bb
运行程序rr
单步执行nn
跳入函数ss
跳出函数finishfinish
打印内容pp
继续执行cc
退出调试qq

开始调试

gdb/lldb testlib

设置断点

(lldb) b main

查看设置了哪些断点

(lldb) break list

开始运行

(lldb) r

进入函数内部

(lldb) s

打印a变量值

(lldb) p a

退出并执行当前函数

(lldb) finish

结束调试

(lldb) q

dump信息

dwarfdump testlib.dSYM/Contents/Resources/DWARF/testlib 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SensWong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值