LINUX.ORG.RU
Надо функцию объявить с атрибутом constructor:

static void my_init_function(void) __attribute__ ((constructor));

Работает только в GCC.

ero-sennin ★★
()
_init(). но можешь назвать как угодно и при загрузке вызывать через dlsym().

а вообще - man 3 dlopen

friday ★★★
()
Ответ на: комментарий от ero-sennin
я в курсе. хотел даже написать, что лучше их не юзать, но поленился:-)
friday ★★★
()
Для компиляторов, которые умеют соответствующие pragma (gcc не умеет):

#pragma init(my_init_function)
#pragma fini(my_fini_function)

Для gcc можно передавать опцию линкеру, типа
-Wl,-init=...
-Wl,-fini=...
или как уже было замечено использовать __attribute__ (сам не использовал).

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