linux基础 —— .so的动态共享库的实现

1 篇文章 0 订阅
1 篇文章 0 订阅

目录

动态共享库和静态共享库的差别:

linux下的动态共享库:

注意事项:

编程文件一般的存储位置: 


  • 动态共享库和静态共享库的差别:

  • linux下的动态共享库:

    • 动态共享库在linux下的形式:lib版本号.so,版本号到时候调用的时候需要用到

    • 创建动态共享库的步骤:
      1. 将.c或者.cpp文件转成动态共享库。
        g++ -c test.cpp -o test.o
      2. 将.o文件编程动态共享库的形式:lib必须要写,后面接上版本号,后缀为.so
        g++ -shared -fpic test.o -o libTest.so
      3. 将要链接动态库的文件进行链接编译:
        g++ main.cpp -o main -lTest -L ./

      4. 移动文件进入lib文件里面:
        mv libTest.so/usr/lib/

      5. 重新刷新动态库文件:
        ldconfig

    • 注意事项:

      • 动态链接库链接的注意事项:
      1. -l表示链接动态库、Test是要链接的库的版本号、-L是添加路径。
      2. 当将动态共享库放进/ussr/bin文件下的时候是不需要添加路径的(-L +路径),只需要ldconfig重新刷新动态共享库,注意root权限
      3. 不将自己创建的动态库放进lib里面的话,虽然可以添加路径进行编译,但是无法运行,因此需要动态库还是要放进lib里面的。                                                                                                                                                    
      4. 动态链接库要写在-o前面,因为-o表示链接成可执行程序,因此动态库要在之前链接
    • 编程文件一般的存储位置:

      • /usr/lib文件是放动态链接库的

      • /usr/include/文件是放.h,头文件的

 


       本人并不是专业的,只是初学者。正在尝试利用自己的理解和实践来更好的记忆学习,写这个博客的目的是将自己学习linux编程的过程记录下来,并且为其他初学者提供思路。如果写的有错请指出,一定会仔细修改,不胜感激。如果文章中引用的例子侵权或者不够规范,可以联系本人进行修改或者删除。希望我的博客可以帮助更多的人初学入门,之后会继续更新的。

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值