进击吧,linux(三)-Linux动态函数库设计
0赞
发表于 6/9/2015 12:49:57 PM
阅读(1502)
上次,制作了静态函数库,动态函数库的制作也是差不多一样的流程。不过动态函数库的后缀是.so。
步骤依然是三步:
1、 使用gcc –c 将.c代码编译成.o
如 gcc –c mylib.c -o mylib.o
2、 将.o打包成.so
如 gcc –shared -fPIC mylib.o –o libmylib.so
3、 将打包好的.so复制到/usr/lib目录下
cp libmylib.so /usr/lib
和静态函数库一样,打包的.so一定要是以lib开头的。
下面以一个列子说明,还是使用之前的代码。
按照三个步骤制作好动态函数库。
然后编译自己的应用程序,注意要使用-l指定链接的动态函数库
默认为gcc是使用动态函数库编译的,但是如果使用自己的动态函数库,要加-l属性,指定动态函数库,-l后面是动态函数库的名字,省略掉lib。
运行,就有结果了。
使用readelf –d 查看生成的elf文件
看出,生成的mytax的elf文件,使用了我们之前制作好的动态库,libmytax.so。
这样,动态函数库的制作也就搞定了。