Существует несколько видов управления версиями библиотеки:
- Внешнее управление версиями, например,
libreadline.so.4
против libreadline.so.5
- Внутреннее управление версиями символов, как в
libpthread.so.0
в Linux, который определяет, например, 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 поддерживать несколько версий поддержки потоков POSIX в одном libpthread.a
.Это также очень сбивает с толку тех, кто не привык к AIX, поэтому лучше не использовать его.