我最近遇到了一些看起来像这样的代码:
if(sizeof(var,2) == 4) { ... }
(其中
var
是一种类型)我很惊讶地看到
sizeof
运算符有两个参数。快速扫描ISO/ANSI C99标准不会产生任何 secret 。我无法阅读任何允许在其中使用逗号的语法。通过搜索Google代码,我能够在某些PPC代码中找到这种语法的an example。
这是某些特定于PPC的语法吗?这是什么意思?
编辑:事实证明,我正在查看的内容以及链接的代码都是WindRiver Diab compiler的特定语法:
哇,他们真的重载了
sizeof
运算符的含义。编辑2:完整文档在这里:http://www.vxdev.com/docs/vx55man/diab5.0ppc/c-additi.htm#3001432
最佳答案
在进一步研究中,我发现这是特定于WindRiver Diab compiler的行为。有关详细信息,请参阅问题中的 EDIT 。
关于c - 为什么用两个参数调用sizeof运算符?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/966034/