我想证明预处理器完全独立于构建过程。它是不同于 C 语言的另一种文法和词法分析器。事实上,我想证明预处理器可以应用于任何类型的文件。
所以我有这个任意文件:
#define FOO
#ifdef FOO
I am foo
#endif
#
#
#
Something
#pragma Hello World
我认为这行得通:
$ gcc -E test.txt -o-
gcc: warning: test.txt: linker input file unused because linking not done
不幸的是,它只适用于此:
$ cat test.txt | gcc -E -
为什么 GCC 会出现这个错误?
最佳答案
你需要告诉gcc
这是一个C文件。
gcc -xc -E test.txt
关于c - 仅对任意文件进行预处理器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57254500/