我知道可以在Suse Linux上实现共享库版本控制。但是,它可以在IBM-AIX上使用吗?
任何链接都非常有用,因为我无法通过Google搜索找到合适的资料。
答案 0 :(得分:1)
库版本控制有几种:
libreadline.so.4
与libreadline.so.5
libpthread.so.0
中所做的那样,它定义了例如: pthread_create@@GLIBC_2.1
和pthread_create@GLIBC_2.0
后者是GNU扩展,任何非GLIBC系统都不支持。
前者可以在AIX上运行。
另一个特定于AIX的问题是,您可以将多个共享库放入单个存档库中,这样您的客户端就可以继续链接到例如: libfoo.a
(包含shr.o
和shr2.o
)。旧的和已链接的客户端将继续使用libfoo.a(shr.o)
,但新链接的客户端将使用libfoo.a(shr2.o)
。
该方案是AIX如何在单个libpthread.a
中支持多个版本的POSIX线程支持。对于不习惯AIX的人来说,这也很混乱,所以最好不要使用它。