lib库

在编译的时候,我们需要告诉编译器,这些对象文件是用来做动态链接库的,所以要用地址不无关代码(Position Independent Code (PIC))。   
对gcc编译器,只需添加上 -fPIC 标签,如:   gcc -fPIC -c file1.c gcc -fPIC -c file2.c  gcc -shared libxxx.so file1.o file2.o   
注意到最后一行,-shared 标签告诉编译器这是要建立动态链接库。这与静态链接库的建立很不一样,后者用的是 ar 命令。
也注意到,动态链接库的名字形式为 “libxxx.so” 后缀名为 “.so” .


五、静态库的创建和使用:   
1、生成静态库 :库名 libmylib.a  ar rcs libmylib.a mylib.o   
2、将静态库copy到 /usr/lib/ 或/lib/ 目录下  cp libmylib.a /usr/lib/  
3、静态库的使用  比如测试文件为test.c  gcc -0 test test.c -lmylib   -l为选项, mylib为库名。
mylib为libmylib的中间部分,Linux下约定所有库都以前缀lib开始  静态库以.a结尾,动态库以.so结尾。
再编译程序时,无需带上前缀和后缀。  
注意:静态库的命名需要以"lib"开头,否者连接是编译器无法找到库  
----------------------------comments: .a是静态lib。所以需要rebuild AMMSPServ这个binary。
----------------------------而动态链接库.so 可以,只rebuild so文件,重启binary的时候会自动加上新的so.
-----------------------------这些coredump主要还是看到那些相关的文件,结合各种log的信息,缩小问题范围。在重点的地方or stack的所有地方加上private log
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值