ВходНаше всё Теги codebook PARTS Поиск Опросы Закон Воскресенье
17 января
/1046172
Топик полностью
VladislavS. (22.10.2020 15:53, просмотров: 115) в ответ на "Просто выпиливанием __libc_init_array() тут не обойтись." - ключ -nostartfiles всё делает. Остаётся только руками конструкторы вызвать. - автор: VladislavS.
Немного оптимизировал функцию вызова конструкторов. Ещё 16 байт сэкономлено. 
inline void __attribute__((always_inline)) __run_init_array(void)
{          
  for (void(**fConstr)(void) = __preinit_array_start; fConstr < __preinit_array_end; (*fConstr++)());
  for (void(**fConstr)(void) = __init_array_start; fConstr < __init_array_end; (*fConstr++)());       
}
Ответить
Ответы