Как узнать, какие заголовки включены, не глядя на предварительно обработанный код в GCC?
У меня есть несколько больших программ на C, и я хотел бы знать, когда я собираю эту программу, какие заголовочные файлы на самом деле включены...
Простейшим решением было бы напечатать предварительно обработанный код и посмотреть, но знаете ли вы, есть ли способ скомпилировать и одновременно показать, какие заголовочные файлы включены?
4 ответа
Используйте опцию -M для вывода зависимостей. Используйте -MD для генерации и компиляции. Используйте -MF для перенаправления в файл.
Также -MM позволяет игнорировать системный файл в списке зависимостей.
gcc ... -M -MF <output_file> # generate dependencies
gcc ... -MD -MF <output_file> # compile and generate dependencies
Ты можешь использовать -MD
вариант - см. man gcc
для деталей.
Увеличить детализацию gcc, а затем запустить ее через собственную созданную программу-фильтр?
Используйте gcc -M или gcc -MM. Отрегулируйте вывод с помощью sed, если хотите. Если вы используете GNU make (и вам следует), вы можете заключить это в одну команду tidy.