现在的位置: 首页 > 综合 > 正文

typeof和typeof、typeof的区别

2019年11月13日 综合 ⁄ 共 427字 ⁄ 字号 评论关闭

  typeof 和 __typeof,typeof 的区别?

  __typeof __() 和 __typeof() 是 C语言 的编译器特定扩展,因为标准 C 不包含这样的运算符。 标准 C 要求编译器用双下划线前缀语言扩展(这也是为什么你不应该为自己的函数,变量等做这些)

  typeof() 与前两者完全相同的,只不过去掉了下划线,同时现代的编译器也可以理解。

  所以这三个意思是相同的,但没有一个是标准C,不同的编译器会按需选择符合标准的写法。

  在标准C 中写扩展是 以 __ 开头,所以在标准C中要写成 __typeof() 或 __typeof__()

  在GNU C 中支持直接写 typeof() 或者 __typeof() 或者 __typeof__()

  iOS 使用Clang编译器,默认用的C语言版本是GNU99 ,并且允许'asm'inline''typeof'的选项设置为Yes。

  因此使用typeof() 完全ok。

  如果以后用于编译的C语言版本 不是GNU C了,你就炸了。直接报错

抱歉!评论已关闭.