gcc 编译器 __SIZE_TYPE__
gcc compiler __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 标识符。我不认为任何其他编译器使用它,但不能保证。另一个编译器可以完全自由地使用相同的标识符 ,即使是出于完全不同的目的。
我对 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 标识符。我不认为任何其他编译器使用它,但不能保证。另一个编译器可以完全自由地使用相同的标识符 ,即使是出于完全不同的目的。