我认为使用变量__PTRDIFF_TYPE__
并且不包含标头是合法的。
我试图在ISO/IEC 9899
中查找此变量名称,但它没有出现。我希望在第7部分C库中看到它的定义。
为什么合法?
我在Linux / GNU下使用gcc。
答案 0 :(得分:2)
这是gcc中的预定义宏(GNU C扩展);见https://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html。
至于为什么这是合法的:标准保留所有以两个下划线开头的名称(并且所有名称以下划线开头后跟一个大写字母)供实现使用,因此gcc可以预定义__whatever
并仍然遵循标准。