Страницы

Поиск по вопросам

четверг, 13 февраля 2020 г.

Что является аналогом DllMain в Linux?

#linux #gcc #разделяемые_библиотеки


Функция DllMain является дополнительной точкой входа в динамически подключаемую библиотеку.
BOOL WINAPI DllMain(
  __in  HINSTANCE hinstDLL,
  __in  DWORD fdwReason,
  __in  LPVOID lpvReserved
);

Каким образом можно в linux задать код, который будет подобным образом выполняться
при загрузке и выгрузке разделяемой библиотеки?    


Ответы

Ответ 1



Задать код, который будет выполняться при подключении и отключении библиотеки, можно, используя атрибуты gcc constructor и destructor. void start() __attribute__ ((constructor)); void finish() __attribute__ ((destructor)); void start() { // Выполнить до } void finish() { // Выполнить после }

Комментариев нет:

Отправить комментарий