gpt4 book ai didi

c - 为什么用两个参数调用 sizeof 运算符?

转载 作者:太空狗 更新时间:2023-10-29 16:41:13 30 4
gpt4 key购买 nike

我最近遇到了一些看起来像这样的代码:

if(sizeof(var,2) == 4) { ... }

(其中 var 是一种类型)

我很惊讶地看到似乎是 sizeof 运算符的两个参数。快速浏览 ISO/ANSI C99 标准并没有发现任何 secret 。我想不出任何允许在此处使用逗号的语法。

搜索 Google Code,我找到了 an example一些 PPC 代码中的这种语法。

这是一些特定于 PPC 的语法吗?什么意思?

编辑:事实证明,我所看到的——以及链接的代码——都是特定于 WindRiver Diab compiler 的语法。 :

sizeof(type, int-const):

If int-const is 0 sizeof returns the size in bytes of type.

If int-const is 1 sizeof returns the alignment of type.

If int-const is 2 sizeof returns an integer constant designating the type of type. Look up "sizeof operator" in the Diab C/C++ User's Guide for values.

哇,他们真的重载了 sizeof 运算符的含义。

EDIT2:完整文档在这里: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/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com