我最近读了很多关于Linux上的共享库,下面是我所学到的:
soname
包括其主版本号。 就像: libfoo.so.1
libfoo.so.1.0
/usr/local/lib
,如果运行ldconfig
,它将读取soname
并创build一个名为libfoo.so.1
的符号链接,指向libfoo.so.1.0
。 libfoo.so
指向libfoo.so.1.0
。 这通常由开发包完成(当库被打包时)。 它是否正确 ?
建议阅读:
Ulrich Drepper的“如何编写共享库”: http : //www.akkadia.org/drepper/dsohowto.pdf
Ulrich Drepper在图书馆设计,实施和维护方面的良好做法: http : //www.akkadia.org/drepper/goodpractice.pdf
dsohowto更为详细。 goodpractice是一个快速阅读。