Код: Выделить всё
DllMain(DLL_PROCESS_ATTACH)Я пытаюсь добиться аналогичного поведения в Linux. Я оценил GCC __attribute__((init_priority)) и __attribute__((destructor)), но безуспешно, так как кажется невозможным указать приоритет по умолчанию 0xFFFF - поэтому вы не получите функцию который вызывается после динамической инициализации вашей статики. (И пометить все статики, кроме выбранного, меньшим номером просто невозможно).
Последняя надежда - это ELF init/fini, который выводит меня на уровень, который я достиг никогда раньше не было.
Выполняется ли инициализация/деинит CRT через init/fini ? Если я регистрирую свои собственные функции init/fini, я предполагаю, что те, которые по умолчанию инициализируют/деинициируют CRT, перезаписываются, поскольку, честно говоря, нет никакой цепочки функций init/fini. Если это так, мне нужно самостоятельно инициализировать/деинициировать CRT, но как мне это сделать?
Или я совершенно на неправильном пути?
Подробнее здесь: https://stackoverflow.com/questions/791 ... library-so
Мобильная версия