我有一个头文件,在我使用像:
#if defined(LINUX) || defined(ANDROID) pthread_t gpthread; #endif
现在,我想在编译过程中传递-DLINUX之后只获取头文件内容。 有没有办法得到它? 如果我使用:
#arm-linux-androideabi-g++ -E main.c > temp
那么输出对我来说有点混乱。
你可以让编译器只对头文件进行预处理:
arm-linux-androideabi-g++ -DLINUX -E foo.h > temp
您可能有兴趣在预处理输出中留言(以增强可读性)
arm-linux-androideabi-g++ -DLINUX -C -E foo.h > foo.i
然后看(用编辑器或传呼机)到foo.i
生成的foo.i
包含以#
开始的行以传送位置信息。
为什么不直接调用cpp -D<something to be defined> <header file name>
呢?