即使_Bool
不是C89的一部分,爲什麼以下命令不會產生警告或錯誤?爲什麼GCC不會在c89模式下抱怨_Bool?
$ echo "_Bool x;" | gcc -x c -c -std=c89 -pedantic -Wall -Wextra -
爲了比較,改變_Bool
到bool
導致錯誤:
$ echo "bool x;" | gcc -x c -c -std=c89 -pedantic -Wall -Wextra -
<stdin>:1:6: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘x’
這發生在Cygwin [GCC(GCC)4.5.3]和Linux [GCC(GCC)4.1.2 20080704 (Red Hat 4.1.2-54)]。
GNU擴展... – 2013-05-14 11:24:36
即使在C99中,沒有'#include' –
2013-05-14 17:26:00