是否可以在IBM-AIX上实现共享库版本控制?

时间:2011-03-09 12:14:53

标签: c shared-libraries aix

我知道可以在Suse Linux上实现共享库版本控制。但是,它可以在IBM-AIX上使用吗?

任何链接都非常有用,因为我无法通过Google搜索找到合适的资料。

1 个答案:

答案 0 :(得分:1)

库版本控制有几种:

  • 外部版本控制,例如libreadline.so.4libreadline.so.5
  • 内部符号版本控制,如在Linux上libpthread.so.0中所做的那样,它定义了例如: pthread_create@@GLIBC_2.1pthread_create@GLIBC_2.0

后者是GNU扩展,任何非GLIBC系统都不支持。

前者可以在AIX上运行。

另一个特定于AIX的问题是,您可以将多个共享库放入单个存档库中,这样您的客户端就可以继续链接到例如: libfoo.a(包含shr.oshr2.o)。旧的和已链接的客户端将继续使用libfoo.a(shr.o),但新链接的客户端将使用libfoo.a(shr2.o)

该方案是AIX如何在单个libpthread.a中支持多个版本的POSIX线程支持。对于不习惯AIX的人来说,这也很混乱,所以最好不要使用它。