【问题标题】:Is possible to implement Shared Library Versioning on IBM-AIX?是否可以在 IBM-AIX 上实现共享库版本控制?
【发布时间】:2011-07-11 20:43:59
【问题描述】:

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

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

【问题讨论】:

    标签: c shared-libraries aix


    【解决方案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 的人来说,它也很令人困惑,所以最好不要使用它。

    【讨论】:

      猜你喜欢
      • 2011-08-24
      • 2011-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-26
      • 2019-05-02
      • 1970-01-01
      • 2013-04-02
      相关资源
      最近更新 更多