Может ли GCC выдавать ошибку, если определенная функция не используется? - PullRequest
0 голосов
/ 06 января 2012

Я работаю над большим проектом, где многие функции не используются.Я хотел бы иметь возможность пометить некоторые из них по мере необходимости, и ld выдаст ошибку, если он не используется в проекте, на который он ссылается.

Ответы [ 2 ]

1 голос
/ 06 января 2012

@ Raghuram

Этот параметр позволяет убедиться, что неиспользованный код не удален. Нет возможности принудительно использовать функцию.

Для статической функции (не раскрытой), так называемого мертвого кода, функция может быть оптимизирована во время связывания - что будет предотвращено вашим вариантом Для открытых функций они обычно не удаляются, так как на них можно было бы ссылаться позже.

@ триумфатор

Нет возможности принудительно установить это, вам нужно определить собственную защиту в других функциях, чтобы убедиться, что ваша «нужная» функция вызывается первой.

0 голосов
/ 06 января 2012

В gcc есть опция (-ffunction-section), чтобы сделать это Проверьте эту ссылку для получения дополнительной информации.

...