打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
动态库编译与使用


一、编译动态库

#–fPIC:表示编译为位置独立的代码,不用此选项的话编译后的代码是位置相关的所以动态
#载入时是通过代码拷贝的方式来满足不同进程的需要,而不能达到真正代码段共享的目的。
#–shared:指明编译成动态库

// Makefile
all:
gcc libpthread.c -fPIC -shared -o libMpthread.so

clean:
rm -rf *.o *.so



=========================================================================


二、编译应用程序时使用动态库

gcc main.c -o main -lMpthread -L ./lib -I ./inc -lpthread

库名:libMpthread.so
链接库时:去掉库名开头的lib和结尾的.so,然后加上-l就成了 -lMpthread
指定存放库位置: -L 
指定库中函数头文件位置:-I


=========================================================================


三、运行应用程序时动态库存放位置

      默认位置:/lib  和  /usr/lib


四、相关函数

        查看库中包含函数:nm   *.so

查看应用程序链接的库:ldd    应用程序

动态链接库位置环境变量:LD_LIBRARY_PATH

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
LIB文件与DLL文件
dll 和lib关系
动态链接库dll,静态链接库lib, 导入库lib
Qt DLL总结【一】-链接库预备知识 - 柳北风儿~~~~~~~欲宇仙炅 - ITeye技术网站
LInux中动态库和静态库的制作和使用
关于DSP中的lib
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服