我有一个头文件,我在其中使用过:
#if defined(LINUX) || defined(ANDROID)
pthread_t gpthread;
#endif
现在,我希望在编译中传递-DLINUX后只获取头文件内容。有没有办法得到它?如果我使用:
#arm-linux-androideabi-g++ -E main.c > temp
那么输出对我来说有点混乱。
答案 0 :(得分:4)
您可以要求编译器仅对头文件进行预处理:
arm-linux-androideabi-g++ -DLINUX -E foo.h > temp
答案 1 :(得分:4)
您可能有兴趣使用
在预处理输出中保留注释(以增强可读性) arm-linux-androideabi-g++ -DLINUX -C -E foo.h > foo.i
然后(使用编辑器或寻呼机)查看foo.i
生成的foo.i
包含以#
开头的行以传达位置信息。
答案 2 :(得分:0)
为什么不直接致电cpp -D<something to be defined> <header file name>
?