【发布时间】:2020-07-19 05:59:45
【问题描述】:
我正在从这里学习宏:https://gcc.gnu.org/onlinedocs/cpp/Variadic-Macros.html#Variadic-Macros
到目前为止,所有的例子都已经编译好了,但是这个没有:
#define eprintf(…) fprintf (stderr, __VA_ARGS__)
eprintf ("%s:%d: ", input_file, lineno)
这是错误:
error: "�" may not appear in macro parameter list
#define eprintf(���) fprintf (stderr, __VA_ARGS__)
warning: __VA_ARGS__ can only appear in the expansion of a C99 variadic macro
#define eprintf(…) fprintf (stderr, __VA_ARGS__)
这就是我生成输出文件的方式(我不编译,我只想看看预处理器做了什么):
gcc -E macroTest.c -o macroTest
里面有代码的文件叫做macroTest.c
【问题讨论】: