2013-01-22 12 views
5

Mam plik .cpp (tekst). Chcę uzyskać listę wszystkich plików, które są dołączone (#include) do tego pliku. Jaki jest najlepszy sposób to zrobić (należy wdrożyć go w C++)Wyciąg wszystkie zawarte pliki w cpp

+0

Jakiego kompilatora używasz? – aschepler

+0

@aschepler - jest to platforma wieloplatformowa: może być gcc lub kontra – Yakov

+0

Użyj dowolnej aplikacji obsługującej wyszukiwanie i wyszukiwanie "# include". – andre

Odpowiedz

2

gcc -M source.cpp

Wymień -M na -MM, jeśli nie zależy Ci na systemie.

+0

Po prostu szukałem tego, aby dodać jako zmianę do mojej sugestii ...;) –

+1

Nieco bardziej wyrafinowane rozwiązanie może zaimplementować to jako jego Własny cel, aby móc odnawiać zależności, gdy tylko się zmienią. –

+1

@ Code-Guru: Tak naprawdę to robię. – ipc

1

Zakładając, że masz "znaleźć" lub "grep", coś wzdłuż tych linii:

g++ -E source.cpp | grep '\# 1 '

+2

Propozycja "Prawdziwy programista": używaj API Clang-LLVM :-) –