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