命名规则: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、加载速度相对缓慢