Content #
Solaris和Linux普遍采用一种叫做SO-NAME的命名机制来记录共享库的依赖关系。每个共享库都有一个对应的“SO-NAME”,这个SO-NAME即共享库的文件名去掉次版本号和发布版本号,保留主版本号。
比如一个共享库叫做libfoo.so.2.6.1,那么它的SO-NAME即libfoo.so.2。很明显,“SO-NAME”规定了共享库的接口,“SO-NAME”的两个相同共享库,次版本号大的兼容次版本号小的。在Linux系统中,系统会为每个共享库在它所在的目录创建一个跟“SO-NAME”相同的并且指向它的软链接(Symbol Link)。比如系统中有存在一个共享库“/lib/libfoo.so.2.6.1”,那么Linux中的共享库管理程序就会为它产生一个软链接“/lib/libfoo.so.2”指向它。
From #
程序员的自我修养