Используемая документация: http://developers.sun.com/solaris/articles/solaris_linux_app.html
Это связано с тем, что libc linux, glibc (-lc
, который по умолчанию связан со всеми программами), включает в себя сокетную часть POSIX;и nis/nis+
динамические библиотеки в linux загружаются динамически и с помощью libc.
Но в Solaris есть много библиотек с базовыми функциями, которых нет в libc.(libc, libucb, libmalloc, libsocket, libxnet и т. д.).Я думаю, это было дизайнерское решение, позволяющее пользователю связывать только те части API, которые ему нужны.
В linux есть также некоторые базовые библиотеки вне libc: libaio, librt, libm.
С отдельнымбиблиотеку легче обновлять только некоторые части системы;и возможно иметь несколько реализаций (например, для обеспечения большей совместимости / обходных путей со старыми версиями UNIX) некоторых библиотек, сосуществующих в одной и той же системе.
Этот вопрос много обсуждается, например, http://web.archiveorange.com/archive/v/KcxCHdLNpD6NANxmAt3b http://mail.opensolaris.org/pipermail/opensolaris-code/2007-January/010316.html
серьезно рассматривают возможность сворачивания libnsl и libsocket в libc.
Было бы неплохо переместить ТОЛЬКО текущие функциональные возможности, основанные на POSIX и других стандартах (Unix98 и т. Д.), В libnsl + libsocket, в libc и сохранить все элементы оболочки compatibilitybilty в libnsl / libsocket, чтобы избежать получения libcраздутый с 20-летним обходным путем обратной совместимости Unix