程序编译链接(六)-- Linux 动态库的组织

2020-08-31  本文已影响0人  wayyyy

共享库版本命名

Linux 有一套规则来命名系统中的每一个共享库。它规定系统中的每一个动态库命名规则必须如下:

libname.so.x.y.z

主版本号表示库的重大升级,不同主版本号之间是不兼容的。
次版本号表示库的增量升级,即增加一些新的接口符号,且保持原来的符号不变。
发布版本号表示库的一些错误修正,性能的改进,并不添加任何新的接口。

SO-NAME

每一个共享库都有一个对应的SO-NAME,这个SO-NAME即共享库的文件名去掉次版本号和发布版本号,保留主版本号。

在Linux 中,系统会为每一个共享库在它所在的目录创建一个

链接名

共享库的查找过程

共享库的创建和安装

共享库的创建

创建共享库最关键是使用2个参数:
-fPIC表示使用地址无关代码的技术来生产输出文件。
-shared表示输出结果是共享库的类型。

共享库的安装

最简单的方法就是将共享库复制到某个标准的共享库目录,如/lib/usr/lib,然后运行ldconfig命令即可

共享库的构造和析构函数
上一篇 下一篇

猜你喜欢

热点阅读