История изменений
Исправление i-rinat, (текущая версия) :
Что ты имеешь ввиду под «инициализацией библиотеки»?
__attribute__((constructor))
void
library_constructor(void)
{
printf("library loaded but no functions called.\n");
}
в) Для зависимостей, для каждой функции — дерево вызовов внешних и внутренних функций.
Возможна ситуация, когда некоторая функция никогда не будет вызываться, но это нельзя определить по дереву вызовов. Например, если вызывается функция по адресу. Один такой вызов — и уже никаких гарантий нет. Код лень писать.
Исходная версия i-rinat, :
Что ты имеешь ввиду под «инициализацией библиотеки»?
__attribute__((constructor)) void library_constructor(void) { printf(«library loaded but no functions called.\n»); }
в) Для зависимостей, для каждой функции — дерево вызовов внешних и внутренних функций.
Возможна ситуация, когда некоторая функция никогда не будет вызываться, но это нельзя определить по дереву вызовов. Например, если вызывается функция по адресу. Один такой вызов — и уже никаких гарантий нет. Код лень писать.