Linux -soname深入理解
来源:互联网 发布:上海金慧软件 编辑:程序博客网 时间:2024/06/08 14:03
-Wl 表示后面的参数也就是-soname,libhello.so.1直接传给连接器ld进行处理。实际上,每一个库都有一个soname,当连接器发现它正 在查找的程序库中有这样一个名称,连接器便会将soname嵌入连结中的二进制文件内,而不是它正在运行的实际文件名,在程序执行期间,程序会查找拥有 soname名字的文件,而不是库的文件名,换句话说,soname是库的区分标志。
这样做的目的主要是允许系统中多个版本的库文件共存,习惯上在命名库文件的时候通常与soname相同
libxxxx.so.major.minor
其中,xxxx是库的名字,major是主版本号,minor 是次版本号
简单的来说,soname指定了库的名字,而不去管生成的是什么名字的库,在做连接是将这个soname指定的名字加入执行文件中,而程序运行是也是去加载soname指定的库文件名。所以如果程序连接了新升级的库,只需要将这个新库拷贝到目录下面后,对其以soname做一个符号链接就能调用。
如果库升级了,但是程序依旧使用旧的链接库,那么只需对这个将旧库名字软链接到新升级的库中去即可。
阅读全文
0 0
- Linux -soname深入理解
- Linux -soname深入理解
- Linux -soname深入理解
- soname
- 深入理解LINUX内核
- 深入理解 Linux 内核
- 深入理解Linux 配置文件
- 深入理解linux内核
- 深入理解linux信号量
- 深入理解 Linux 内核
- 深入理解Linux内核
- 深入理解linux信号量
- 深入理解Linux debuginfo
- linux dll hell--链接库real name, soname, link name
- 深入理解Linux守护进程
- 深入理解Linux守护进程
- 深入理解Linux守护进程
- 深入理解linux内核学习
- web开发中获取的各种高度和宽度
- Java基础——JSP(二)
- 【备忘】2017年极客学院大数据工程师全套 视频 代码 课件
- PL/SQL 乱码问题
- 【CUGBACM15级BC第二场 A】hdu 4883 TIANKENG’s restaurant
- Linux -soname深入理解
- 图片压缩工具
- 【C/C++开发】C++11的模板类型判断——std::is_same和std::decay
- 用 Scikit-Learn 和 Pandas 学习线性回归
- Android蓝牙BLE开发(一)-基本原理
- Unity3D导弹追踪目标(三维效果)
- 前端奇淫技巧(一)之前端遇到需要数据遍历的如何处理
- websocket 实现服务器日志实时反馈(linux 环境)
- 九度[1137]-浮点数加法