如何检查是否使用了c99,而不是gnu99

时间:2011-12-28 12:56:30

标签: gcc gnu c99

我想在编译期间添加一条警告消息,警告用户它应该使用gnu99而不是c99(我使用的是匿名结构,而且它似乎在c99中根本不存在)。

我发现:

#if __STDC_VERSION__ >= 199901L

但是这个测试适用于c99和gnu99。

我可以使用哪个预定义的宏?

1 个答案:

答案 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                     <