一尘不染

关于Linux上共享库的良好做法是什么?

linux

我最近阅读了很多有关Linux上共享库的信息,这是我所学到的:

  • 共享库应嵌入,soname包括其主要版本号。就像是:libfoo.so.1
  • 其实际文件名还应包含次要版本号。就像是:libfoo.so.1.0
  • 当库文件复制到,比方说/usr/local/lib,如果ldconfig运行时,它会读取soname,创建一个名为符号链接libfoo.so.1指向libfoo.so.1.0
  • 如果要使用此库进行开发,则应首先创建一个libfoo.so指向实际文件的没有任何版本号的符号链接libfoo.so.1.0。这通常由 开发 包(打包库时)完成。

它是否正确 ?


阅读 207

收藏
2020-06-02

共1个答案

一尘不染

建议阅读:

Ulrich Drepper的如何编写共享库的方法:http
:
//www.akkadia.org/drepper/dsohowto.pdf

Ulrich
Drepper在图书馆设计,实施和维护方面的良好实践:http
:
//www.akkadia.org/drepper/goodpractice.pdf

dsohowto更加详细。好的做法是快速阅读。

2020-06-02