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

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

9
LB40 26 Июн 2009 в 17:39

4 ответа

Лучший ответ

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

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

gcc ... -M  -MF <output_file>     # generate dependencies
gcc ... -MD -MF <output_file>     # compile and generate dependencies
15
philant 26 Июн 2009 в 14:22

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

0
Beta 26 Июн 2009 в 13:46

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

0
Marco van de Voort 26 Июн 2009 в 13:40

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

5
qrdl 26 Июн 2009 в 13:42