c - gcc 编译器 __SIZE_TYPE__

标签 c gcc size-type

我对 gcc 编译器预定义的变量 __SIZE_TYPE__ 很好奇。

假设我用 C 编写如下句子

typedef __SIZE_TYPE__ size_t; 

使用gcc以外的其他C编译器会不会出错? 所有的 C 编译器都有变量 __SIZE_TYPE__ 吗?

最佳答案

是的,只要你使用任何带有双下划线的标识符,就可能会出错。参见 C 标准 7.1.3:

All identifiers that begin with an underscore and either an uppercase letter or another underscore are always reserved for any use.

至于 __SIZE_TYPE__ 这显然是一个 gcc 标识符。我不认为任何其他编译器使用它,但不能保证。另一个编译器可以完全自由地使用相同的标识符即使是为了完全不同的目的

关于c - gcc 编译器 __SIZE_TYPE__,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36857141/

相关文章:

c - 将数据从 UDP 保存到文件中

c - 无符号变量表现得像有符号

gcc - 为什么 GCC 将看似不需要的变量插入到我的程序集文件中?

c++ - std::size_t 或 std::vector<Foo>::size_type?

c++ - std::map::size_type 对于 std::map 其 value_type 是它自己的 size_type

c++不合逻辑> =处理vector.size()时的比较很可能是由于size_type未签名

c - 交换链表中的 2 个节点

c - 为什么下面的 C 代码出现段错误?

编译器无法识别控制键,例如 C 中的 Return 键

c - 如何以简单的方式在 C 中编辑文本文件?