【发布时间】:2011-07-11 20:43:59
【问题描述】:
我知道共享库版本控制可以在 Suse Linux 上实现。但是,在 IBM-AIX 上是否可行?
任何链接都会非常有帮助,因为我无法通过 Google 搜索找到合适的材料。
【问题讨论】:
标签: c shared-libraries aix
我知道共享库版本控制可以在 Suse Linux 上实现。但是,在 IBM-AIX 上是否可行?
任何链接都会非常有帮助,因为我无法通过 Google 搜索找到合适的材料。
【问题讨论】:
标签: c shared-libraries aix
有几种库版本控制:
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 的人来说,它也很令人困惑,所以最好不要使用它。
【讨论】: