Могу ли я сказать, что GCC потерпит неудачу, если я добавлю заголовочные файлы без необходимости? - PullRequest
2 голосов
/ 08 декабря 2010

Проект, над которым я работаю в последнее время, приложил большие усилия для очистки кода, включив все самые строгие предупреждения GCC и выполняя итерации до его компиляции.Теперь, например, компиляция завершается неудачно, если я объявляю переменную и не использую ее.

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

Я использую GCC 4.3.2 в Linux.

1 Ответ

3 голосов
/ 08 декабря 2010

Нет, нет способа заставить gcc потерпеть неудачу, если заголовок не требуется.Включенные заголовки могут содержать почти все, поэтому предполагается, что у того, кто включил их, была веская причина для этого.Представьте себе следующий патологический случай:

int some_function(int x) {
#include "function_body.h"
return x;
}

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...