GCC -E 预处理器输出

GCC -E preprocessor output

我正在尝试预处理一个 .h 文件并生成一个新的 .h 文件,其中包含所有已解析的 #preproc 指令。我使用 gcc -E file.c 命令,我总是得到这个输出:

# 1 "file.c"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "file.c"

我应该使用哪个命令来生成新的预处理 .h 文件?

来自https://gcc.gnu.org/onlinedocs/gcc/Preprocessor-Options.html

-P
Inhibit generation of linemarkers in the output from the preprocessor. This might be useful when running the preprocessor on something that is not C code, and will be sent to a program which might be confused by the linemarkers.

简单使用

gcc -E -P file.c