LINUX.ORG.RU

Shared library


0

0

Кто-нибудь знает почему некоторые классы криво выполняются в статически линкованых библиотеках.
Если этот код перенести в обычную прогу с main - всё идёт на УРА....

А что значит криво выполняются? может быть, дело в том, что статически линкуются несколько библиотек(например A и B). В библиотеку A включены функции f1, f2, f4, а в B-f1, f3, f5. Тогда например если вам нужна f1 то возьмется первая встретившаяся. А вот если нужно f3 то она потащит за собой f1 из библиотеки В, а вот реализация f1 может взяться из A... %) В результате могуть быть самые разные ошибки, здесь все зависит от компилятора.

Helena
()
Ответ на: комментарий от Helena

Криво это так.
В если код выполняется из main то результат правильный.
Этот же код переносим в либу - результат другой...
А то что ты пишешь -- хорошо если было бы так,
но к сажелению не так..
В качестве примера. Возми реализацию с модулем pam.
Убедись, что всё правильно, а потом воткни в so и удивись...

ranckont
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.