06-创建一个共享库
41.4.1 创建一个共享库
为构建之前创建的静态库的共享版本,需要执行下面的步骤。
第一个命令创建了三个将要被放到库中的目标模块。(下一节将对cc –fPIC选项进行解释。)cc –shared命令创建了一个包含这三个目标模块的共享库。
根据惯例,共享库的前缀为lib,后缀为.so(表示shared object)。
在上面的例子中使用了gcc命令,而并没有使用与之等价的cc命令,这是为了突出用来创建共享库的命令行选项是依赖于编译器的,在另一个UNIX实现上使用一个不同的C编译器可能会需要使用不同的选项。
注意可以将编译源代码文件和创建共享库放在一个命令中执行。
这里为了清楚区分编译和构建库两个步骤,所以在本章给出的例子中使用了两个独立的命令。
与静态库不同,可以向之前构建的共享库中添加单个目标模块,也可以从中删除单个目标模块。与普通的可执行文件一样,共享库中的目标文件不再维护不同的身份。