使用以下命令:
gcc -c -Wall -Wextra -pedantic -ansi -std=c99 -fstack-protector-all -fstack-check -O3 root.c -o rootTESTOBJECT
我收到了编译器警告 root.h:76:22: warning: ISO C 不允许使用命名变参宏
72 #ifdef Debug
73 #include <stdio.h>
74 #define crumb(phrase0...) printf(phrase0)
75 #else
76 #define crumb(phrase0...)
77 #endif
我相信选项 -ansi -std=c99 允许使用可变参数宏,至少文档是这么说的...
我已经尝试将第76行编辑为
76 #define crumb(phrase0...) printf("")
我尝试了解决警告,但未成功。
编译器版本是苹果的gcc,版本为4.2.1。我不确定是否需要过于担心,但我真的不喜欢警告。我错过了哪些标志?