// Filename: test.c
#include <sys/types.h>
int main() {
uint a;
return 0;
}
上面的代码可以使用 gcc 和 clang 和 gnu89 或 gnu99 等标准进行编译。换句话说,以下工作。
$gcc test.c # for the default is std=gnu89
$clang test.c # for the default is std=gnu99
但是,以下失败并出现错误“未声明的 uint”。
$gcc -std=c99 test.c
$clang -std=c99 test.c
有人可以解释为什么 uint 的定义在 c99 标准中消失了吗?