Как получить предварительно обработанный вывод заголовочного файла в одиночку? - PullRequest
2 голосов
/ 15 марта 2012

У меня есть файл заголовка, где я использовал как:

#if defined(LINUX) || defined(ANDROID)
 pthread_t gpthread;
 #endif

Теперь я хотел бы получить только содержимое файла заголовка после передачи в компиляции -DLINUX Есть ли способ получить это? Если я использую:

#arm-linux-androideabi-g++ -E main.c > temp

тогда вывод меня немного смущает.

Ответы [ 3 ]

4 голосов
/ 15 марта 2012

Вас может заинтересовать сохранение комментариев в предварительно обработанном выводе (для улучшения читаемости) с помощью

 arm-linux-androideabi-g++ -DLINUX -C -E foo.h > foo.i

, а затем просмотр (с редактором или пейджером) в foo.i

сгенерированный foo.i содержит строки, начинающиеся с # для передачи информации о местоположении.

4 голосов
/ 15 марта 2012

Вы можете просто попросить компилятор выполнить предварительную обработку только для заголовочного файла:

arm-linux-androideabi-g++ -DLINUX -E foo.h > temp
0 голосов
/ 15 марта 2012

Почему бы не позвонить cpp -D<something to be defined> <header file name> напрямую?

...