码迷,mamicode.com
首页 > 系统相关 > 详细

Linux动态库

时间:2018-10-23 23:03:34      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:库文件   位置   代码   -fpic   导入   app   无法   步骤   解决   

命名规则:lib+名字+.so

 

2)制作动态库步骤:

  1.生成与位置无关的代码(.o文件)

    gcc   -fPIC  -c  *.c

  2.打包.o文件,生成库文件

  gcc  -shared  -o  libMyTest.so  *.o  -Iinclude

 

3)动态库使用:

  1.gcc  main.c  ./lib/libMyTest.so  -o   app  -Iinclude

  2.gcc  main.c  -L./lib  -lMyTest  -Iinclude  -o  app

 

4)解决程序知性时动态库无法加载的问题

  1.放到系统库目录中  ----不建议使用

  2.临时调试:

    环境变量:LD_LIBREARY_PATH=动态库的路径设置给该变量

    将设置的值,导入到系统环境变量中,export  LD_LIBREARY_PATH

  3.加到bashrc文件中,重启终端

  4.   4.1需要找动态链接器的配置文件  --  /etc/ld.so.conf

     4.2动态库的路径写到配置文件中  --  绝对路径

      4.3更新  ---  sudo  ldconfig  -v

 

5)优点:

  1、执行程序体积小

  2、动态库更新,不需要改变程序

6)缺点:

  1、发布程序时,需要将动态库提供给客户

  2、加载速度相对缓慢

 

Linux动态库

标签:库文件   位置   代码   -fpic   导入   app   无法   步骤   解决   

原文地址:https://www.cnblogs.com/Toney-01-22/p/9839218.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!