LINUX.ORG.RU

История изменений

Исправление mittorn, (текущая версия) :

1. В .so прописано к какой платформе оно принадлежит и если там прописана другая платформа, dlopen выдаёт ошибку
2. К символам приписаны версии и символы с несовпадающей версией не ресолвятся. Конечно, можно сделать специальный .so (и я даже делал такой), который не будет привязан к системе. Функции fopen, fread, fcntl, сокеты и прочее обычно переносимы и если кроме них ничего из системы не используется, то библиотека может работать на всех системах где используется ELF и совпадает архетиктура процессора. Но glibc'шные библиотеки работают только в пределах одной платформы и одной мажорной версии libc.

Исходная версия mittorn, :

1. В .so прописано к какой платформе оно принадлежит и если там прописана другая платформа, dlopen выдаёт ошибку
2. К символам приписаны версии и символы с несовпадающей версией не ресолвятся. Конечно, можно сделать специальный .so (и я даже делал такой), который не будет привязан к системе. Функции fopen, fread, fcntl, сокеты и прочее обычно переносимы и если кроме них ничего из системы не используется, то библиотека может работать на всех системах где используется ELF и совпадает архетиктура процессора. Но glibc'шные библиотеки работают только в пределах одной платформы и одной версии libc.