LINUX.ORG.RU

История изменений

Исправление 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»); }

в) Для зависимостей, для каждой функции — дерево вызовов внешних и внутренних функций.

Возможна ситуация, когда некоторая функция никогда не будет вызываться, но это нельзя определить по дереву вызовов. Например, если вызывается функция по адресу. Один такой вызов — и уже никаких гарантий нет. Код лень писать.