28 / 27 / 7
Регистрация: 11.06.2011
Сообщений: 387
|
|
1 | |
Как из загружаемой библиотеки узнать собственный путь ?27.11.2017, 11:00. Показов 2526. Ответов 6
Метки нет (Все метки)
Есть программа которая динамически грузит .so. Как из этих библиотек узнать откуда они были загружены ?
0
|
27.11.2017, 11:00 | |
Ответы с готовыми решениями:
6
Как узнать прямой линк программы загружаемой через web -инсталлятор ? Как вывести в окно textBox собственный путь расположения приложения? Как получить путь до текущей библиотеки? Библиотеки или собственный движок |
3881 / 2479 / 418
Регистрация: 09.09.2017
Сообщений: 10,888
|
||||||
27.11.2017, 20:30 | 2 | |||||
0
|
28 / 27 / 7
Регистрация: 11.06.2011
Сообщений: 387
|
|
28.11.2017, 03:24 [ТС] | 3 |
COKPOWEHEU, Разве мы этим не узнаем путь до бинарника, а не до библиотеки ?
0
|
1241 / 960 / 379
Регистрация: 02.09.2012
Сообщений: 2,936
|
|
28.11.2017, 05:23 | 4 |
Сообщение было отмечено admsasha как решение
Решение
Попробуйте dlopen и dlinfo. Не знаю, сработает ли из бибилиотеки получение адреса на саму себя, или может вернет что-то из процесса.
1
|
28 / 27 / 7
Регистрация: 11.06.2011
Сообщений: 387
|
|
28.11.2017, 07:36 [ТС] | 5 |
grgdvo, Вот спасибо ! Через запрос RTLD_DI_ORIGIN получилось получить путь именно библиотеки, а не бинарника. Теперь осталось придумать как узнать собственный handle
0
|
1241 / 960 / 379
Регистрация: 02.09.2012
Сообщений: 2,936
|
|
28.11.2017, 19:28 | 6 |
считаю немного некорректной формулировку "собственный". библиотека живет в пространстве процесса, в память которого она маппируется и связывается с остальным кодом процесса. у нее вообщем-то нет ничего собственного.
возможно в вашем случае будет эффективнее и быстрее просмотреть содержимое файла /proc/<PROCID>/maps. вызываем getpid и далее шерстим указанный файл на известное имя
0
|
28 / 27 / 7
Регистрация: 11.06.2011
Сообщений: 387
|
||||||
29.11.2017, 03:11 [ТС] | 7 | |||||
Ну вот я открываю библиотеку
А как узнать собственное имя библиотеки ?
0
|
29.11.2017, 03:11 | |
29.11.2017, 03:11 | |
Помогаю со студенческими работами здесь
7
Alpha Controls: как добавить путь к исходникам библиотеки? Подключение сторонней библиотеки - как указать путь к .dll файлам Как узнать путь к картинкам? Как узнать путь к файлу? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |