一个菜鸟的Linux起步 课程第三节:动态库的封装,gcb调试,左右法则,左值右值,数据类型

动态库的封装(add.c)
  1. 创建库函数的源文件: vim add.c
  2. 生成目标文件: gcc -c add.c -fpic
  3. 生成动态库:gcc add.o -o libadd.so -shared
备注:libadd.so:add是库的名字 so是后缀
  1. 建立调用函数库的源文件:vim demo.c
  2. 编译执行: gcc demo.c ./liadd.so (这里的动态库是在当前目录下的)

静态库和动态库的区别
  1. 静态库的后缀是.a 动态库的后缀是.so
  2. 在编译链接的时候
对于静态库,链接器是把静态库里面的函数拷贝到调用的地方,调用一次拷贝一次
对应的实验现象:mv libmath.so ../之后,./a.out是可执行的。
对于动态库,链接器是在调用的地方做标记,调用的时候再去动态库里加载。
对应的现象:mv libmath.so ../之后,./a.out是不可执行的。

  1. 链接动态库的可执行文件一般比静态库的要小;
  2. 默认的连接方式是动态链接,如果要静态链接,需要加入参数 -static


gcb调试:
主要的作用就是用来调试代码,可以做到单步调试,或者从一个断点直接到下一个断点,甚至是改变当前程序的执行条件,按照我们设定的条件执行
---调试查找错误,并使程序按照我们设定的条件执行。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值