Я компилирую свой код C ++, используя gcc (4.6.3), и хочу, чтобы компилятор распечатал все включенные им включения.
В MS VS это делается простым добавлением флага / showInclude, и результат выглядит следующим образом:
1> File.cpp
1> including file : A.h
1> including file : B.h
1> including file : C.h
1> including file : B2.h
Есть ли такая опция в gcc?
Спасибо!!!
У gcc есть флаг -v. Это покажет вам, какие именно файлы он включает, а также где он ищет.
Если вам нужно полное дерево зависимостей, используйте флаг -M. Это используется для перечисления не только файлов, включенных непосредственно в gcc, но и файлов, включенных в них. Использование простого «gcc -M» выведет список всего, включая все дерево стандартной библиотеки. Если вы просто анализируете свою собственную кодовую базу, попробуйте «gcc -MM», чтобы ограничить включение системных файлов.
Требуемым поисковым термином является «зависимость», так как большинство этих опций обычно используются в мире gcc для создания машиночитаемых файлов (обычно с расширением * .d) для использования утилитой Make. Попробуйте поискать в Google, если вам нужно детализировать детали этого семейства опций.