У меня есть один файл .cpp, который включает несколько заголовочных файлов. Эти заголовочные файлы могут включать и другие заголовочные файлы. Включены защитные устройства для предотвращения включения одного и того же файла дважды.
Зная, что каждый файл включен только один раз. Есть ли способ выяснить возможный порядок, в котором будут включены все заголовки?
Я пытался gcc -E
получить выходные данные препроцессора, но сгенерированный код не может использоваться для извлечения необходимой мне информации. Кто-нибудь может помочь?
Редактировать
Причина, по которой я спрашиваю, заключается в том, что мне нужно включить заголовочные файлы в файл интерфейса SWIG в правильном порядке, чтобы избежать генерации странных оболочек SWIGTYPE_p_ *.
Обновление
Спасибо за ответы. Использование cpp -H
кажется очень полезным. Однако я не могу найти grep
или sed
эти результаты, чтобы получить простой список файлов заголовков в правильном порядке и без дубликатов.