Linux下程序的调试、库的创建

1. 调试
工具:gdb   具备调试信息才能调试  需要的是debug(调试)版本
方法:编译时加-g,使程序具有调试信息
gdb main      
显示代码:l    l    l      l  3看前面的代码
下断点:b(break)  11(行号)     b  +函数名:在函数入口下断点   
显示断点信息:info   break
运行程序:r(run)
输出值:P(printf)  i
输出值:p  &i
往下走,单步执行:n(next)
退出:q
display i:每次执行都显示i的值
c(continuue):继续执行
删除断点:delete +断点编号
s(step:一步一步地):进入函数
打印:p x    p y
f(finsh):跳出函数
l  add.c :3:跳到add的第三行,一次一般显示10行
bt:打印函数调用的栈关系
例:A()->B()->C()
执行bt后:
先执行C,然后回到B,再回到A
面试官会问如何调用多进程,多线程
2. 库:预先编译好的函数(方法)的集合(.o文件)
libxx.a  静态库     libxx.so  共享库
which +命令:查看命令
程序,命令 在/usr/bin  /bin
头文件  /usr/include
库文件  /usr/lib   /lib
环境变量:PATH   
$PATH
3. 做一个静态库
ar  crv  libxxx.a  add.o  max.o   c:创建 r:将后面的.o文件加入库 v:显示信息
如:ar  crv  libfun.a  add.o  max.o
引用库:
gcc  -o  main  main.o  -L.  -lfun
所以我们可以把自己做的库拷进标准目录下:
su
cp  libfun.a   /usr/lib
这回可以这样引用:
gcc  -o  main  main.o    -lfun
一步做法:gcc  -o  main  main.c  -L路径  -l库名
4. 共享库
5. 三种写法:
gcc –shared  -fPIC  -o  libfun.so  add.o  max.o
gcc  -shared  -fPIC  -o  libfun.so  add.c  max.c
gcc  -shared  -fPIC  add.c  max.c  -o  libfun.so
ldd:查看当前使用使用的共享库
找不见它,因为在执行程序时将方法装载进来,才会知道它在哪
所以将他拷进标准目录:/usr/lib
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

@所谓伊人

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

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

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

打赏作者

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

抵扣说明:

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

余额充值