当前位置:嗨网首页>书籍在线阅读

06-创建一个共享库

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

41.4.1 创建一个共享库

为构建之前创建的静态库的共享版本,需要执行下面的步骤。

1027.png 第一个命令创建了三个将要被放到库中的目标模块。(下一节将对cc –fPIC选项进行解释。)cc –shared命令创建了一个包含这三个目标模块的共享库。

根据惯例,共享库的前缀为lib,后缀为.so(表示shared object)。

在上面的例子中使用了gcc命令,而并没有使用与之等价的cc命令,这是为了突出用来创建共享库的命令行选项是依赖于编译器的,在另一个UNIX实现上使用一个不同的C编译器可能会需要使用不同的选项。

注意可以将编译源代码文件和创建共享库放在一个命令中执行。

1028.png 这里为了清楚区分编译和构建库两个步骤,所以在本章给出的例子中使用了两个独立的命令。

与静态库不同,可以向之前构建的共享库中添加单个目标模块,也可以从中删除单个目标模块。与普通的可执行文件一样,共享库中的目标文件不再维护不同的身份。