我想在编译期间添加一条警告消息,警告用户它应该使用gnu99而不是c99(我使用的是匿名结构,而且它似乎在c99中根本不存在)。
我发现:
#if __STDC_VERSION__ >= 199901L
但是这个测试适用于c99和gnu99。
我可以使用哪个预定义的宏?
答案 0 :(得分:5)
您可以自己检查:
$ gcc -std=c99 -dM -E - < /dev/null > c99.txt
$ gcc -std=gnu99 -dM -E - < /dev/null > gnu99.txt
$ sdiff -s c99.txt gnu99.txt
#define __STRICT_ANSI__ 1 <