LINUX.ORG.RU

.so


0

0

т.к. под линукс я только начинаю разбираться в программировании ... то тут уж не обессудьте

как в линукс можно реализовать аналог Dllmain виндоус?

т.е. мне надо чтобы некий код выполнялся при подгрузке so и некий при отгрузке :)

и еще - как можно экспортировать только те функции, которые я хочу экспортировать?


вообщем с точкой входа я уже сам разобрался а вот как экспортить только то что я хочу?

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

> вообщем с точкой входа я уже сам разобрался а вот как экспортить только то что я хочу?

Попробуй поискать слово version script в документации ld. Все нужные тебе символы делаешь local, остальные global.

Общая идея вот здесь вот http://docs.sun.com/app/docs/doc/817-1984/6mhm7pl18?a=view#chapter2-14824 искать Reducing Symbol Scope. Пусть тебя не смущает, что документация сановская: лучшая рыба - это, как известно, колбаса.

anonymous
()

что-то я запутался ...

а как мне точно посмотреть какие функции экспортируются из so файла?

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

>а как мне точно посмотреть какие функции экспортируются из so файла?

man nm

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

а разве глобальные переменные объявленные с модификатором ststic экспортируются? вроде нет: вот и способ ограничить экспорт

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

int on_load();
static int qq = on_load();

все static переменные инициализируется во время загрузки
so library. Это платформо-независимое решение :-)

С выгрузкой сложнее ... :-(

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

вообще я почти сразу написал что с аналогом точки входа я разобрался...

просто дать нужным функциям атрибуты constructor и destructor

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