加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

Linux中的动态库(共享库)的制作

发布时间:2020-12-14 01:11:52 所属栏目:Linux 来源:网络整理
导读:一、整体大纲 二、共享库的制作 1. 命名规则: ? ? lib + 名字 + .so 2. 制作步骤: ? ? 1) 生成与位置无关的代码 (生成与位置无关的.o) ?? ?2) 将.o打包成共享库(动态库) 3. 发布和使用共享库: 4. 解决程序执行时动态库无法被加载的问题:? ? ? 1)放到系统

一、整体大纲

二、共享库的制作

1. 命名规则:

? ? lib + 名字 + .so

2. 制作步骤:

? ? 1) 生成与位置无关的代码 (生成与位置无关的.o)
?? ?2) 将.o打包成共享库(动态库)

3. 发布和使用共享库:

4. 解决程序执行时动态库无法被加载的问题:?

? ? 1)放到系统的库目录 中 -- 不允许使用

?? ?2)临时测试

? ? ? ? ? 环境变量: LD_LIBRARY_PATH=将动态库的路径设置给该变量
? ? ? ? ? 将设置的值,导入到系统环境变量中: export LD_LIBRARY_PATH
? ? ? ? ? 当终端关闭,设置会失效

? ? 3)不常用的方法(永久设置):?

? ? ? ? ? 在家目录的 .bashrc文件 中添加一句话: export LD_LIBRARY_PATH=动态库目录的绝对路径
? ? ? ? ? ?.bashrc修改完成,需要重启终端

? ? 4)修改配置文件??

? ? ? ? ? a. 需要找动态连接器的配置文件 -- ?/etc/ld.so.conf
? ? ? ? ? b. 动态库的路径写到配置文件中 -- 绝对路径
? ? ? ? ? c. 更新 -- sudo ldconfig -v

5. 优缺点:

三、动态库的制作示例??

动态库的制作示例请看博客:https://www.cnblogs.com/xuejiale/p/10741311.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读