Как узнать, какие заголовки включены, не глядя на предварительно обработанный код в GCC? - PullRequest
8 голосов
/ 26 июня 2009

У меня есть несколько больших C программ, и я хотел бы знать, когда я собираю эту программу, какие заголовочные файлы фактически включены ...

Самым простым решением было бы напечатать предварительно обработанный код и посмотреть, но знаете ли вы, есть ли способ компилировать и в то же время показывать, какие заголовочные файлы включены?

Ответы [ 4 ]

14 голосов
/ 26 июня 2009

Используйте параметр -M для вывода зависимостей. Используйте -MD для генерации и компиляции. Используйте -MF для перенаправления в файл.

Также -MM позволяет игнорировать системный файл в списке зависимостей.

gcc ... -M  -MF <output_file>     # generate dependencies
gcc ... -MD -MF <output_file>     # compile and generate dependencies
5 голосов
/ 26 июня 2009

Вы можете использовать опцию -MD - подробности см. man gcc.

0 голосов
/ 26 июня 2009

Используйте gcc -M или gcc -MM. Отрегулируйте вывод с помощью sed, если хотите. Если вы используете GNU make (и вам следует), вы можете заключить это в одну команду tidy.

0 голосов
/ 26 июня 2009

Увеличить детализацию gcc, а затем запустить ее через собственную созданную программу фильтрации?

...