LINUX.ORG.RU

особенности dlopen


0

0

есть .so, который подключается с помощью dlopen. .so сама также использует функции из другой .so. что надо в этом случае сделать, чтобы все проходило нормально (сейчас при вызове dlopen не находятся символы из другой .so). в LD_LIBRARY_PATH прописывал.

также - чем можно смотреть в реалтайм какой набор дин. либ и в каком порядке грузится, порядок вызова функций из загруженной .so ?

anonymous

Ответ на: Re: особенности dlopen от Murr

Re: Re: особенности dlopen

А если библиотеки - плагины к программе? Юзеру будет неинтересно экспортировать переменные и все такое? Как поступить в таком случае?

OxiD ★★★★ ()
Ответ на: Re: Re: особенности dlopen от OxiD

Re:

В смысле плагины?

А в чем с ними проблемы? Просто в init функции so делаешь callback в основную программу а-ля register_plugin(bla-bla-bla).

Murr ★★ ()

Re: особенности dlopen

"таблица символов" программы представляет собой дерево (точнее ацикличный граф), в корне которого находятся имена главного модуля, а каждая ветвь - загруженный модуль с его именами. Поиск имени по умолчанию ведётся в узле текущего модуля и его подузлах, а так же узлах, построенных dlopen с флагом RTLD_GLOBAL. По умолчанию же узлы строятся с RTLD_LOCAL.

Подробнее - man dlopen.

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