У меня есть несколько больших программ C , и я хотел бы знать, когда я компилирую эту программу, какие файлы заголовков фактически включены ...
Самым простым решением было бы распечатать предварительно обработанный код и посмотреть, но знаете ли вы, есть ли способ скомпилировать и в то же время показать, какие файлы заголовков включены?
4 ответа
Для вывода используйте параметр -M зависимости. Используйте -MD. для создания и компиляции. Используйте -MF для перенаправления к файлу.
Также -MM позволяет игнорировать системный файл в списке зависимостей.
gcc ... -M -MF <output_file> # generate dependencies
gcc ... -MD -MF <output_file> # compile and generate dependencies
Используйте gcc -M или gcc -MM. Если хотите, отрегулируйте вывод с помощью sed. Если вы используете GNU make (а вы должны это делать), вы можете обернуть это в одну аккуратную команду.
Увеличить подробность gcc, а затем запустить его через собственную программу фильтрации?
Вы можете использовать опцию -MD
- подробнее см. man gcc
.
Похожие вопросы
Новые вопросы
c
C - это язык программирования общего назначения, используемый для системного программирования (ОС и встраиваемых), библиотек, игр и кроссплатформенности. Этот тег следует использовать с общими вопросами, касающимися языка C, как это определено в стандарте ISO 9899 (последняя версия 9899: 2018, если не указано иное, а также для запросов, специфичных для версии, с c89, c99, c11 и т. Д.). C отличается от C ++ и не должен сочетаться с тэгом C ++ без разумной причины.