В настоящее время я разрабатываю программный модуль под названием Test.so.
В этом тесте. Так есть код, который загружает и использует внешнюю библиотеку под названием WOW.SO. < /p>
Чтобы проверить этот модуль, я создал новый тестовый проект. Поток выполнения выглядит следующим образом:
Программа тестирования (Main) → Test.SO → Внутренняя загружает WOW.SO < /p>
Потому что тест. SO необходимо автоматически выполнить какой -то код при загрузке,
Я использовал функцию конструктора, как это:
static void __attribute__((constructor)) my_init() { ... }< /code> < /p>
Однако эта функция конструктора не работает должным образом. < /p>
После некоторого исследования я обнаружил, что попытка загрузить другой файл .so с использованием dlopen ()
в функции конструктора может не удаснуть. Похоже, что это связано с блокировкой загрузчика или порядок инициализации динамических библиотек на Linux. У меня есть только скомпилированный.>
Подробнее здесь: https://stackoverflow.com/questions/796 ... onstructor
Linux Loader Lock / Loader int __attribute __ ((Constructor)) ⇐ Linux
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как преобразовать список[int, int, int] в кортеж[int, int, int], а не в кортеж[int, ...]
Anonymous » » в форуме Python - 0 Ответы
- 288 Просмотры
-
Последнее сообщение Anonymous
-