![]() |
1
13
从…起 C Standard, 6.2.6.2, Integer Types
|
![]() |
2
3
陷阱表示的定义为C11 6.2.6.1/5:
这意味着陷阱表示必须是无效值。
在更为疯狂的虚构系统上,整数可能有填充位,然后这些填充位可以用于保存陷阱表示。 在任何情况下,二进制表示0始终是一个值。许多C标准都依赖于此,例如具有静态存储持续时间的对象初始化、calloc()函数、结构中填充字节的值等。在所有这些中,结果不应是陷阱表示。 请注意,如果你不是一个虚构系统的程序员,这一切都无关紧要。可能存在一些奇怪的实验性计算机,这是一件事。你甚至可能找到一个还活着的人,他可以告诉你关于他们的事情。 如果您的设计是为了与这些异国情调的、很可能是虚构的系统兼容,那么您应该详细记录为什么您的产品需要这种兼容性。因为你的老板可能想知道为什么你要花很多时间设计与现实世界中并不存在的计算机的兼容性。 |
![]() |
Robert E. Brown · 嵌套类的嵌套类的访问权限 6 年前 |
![]() |
YSC · 通过成员指针访问受保护的成员:这是黑客行为吗? 6 年前 |
![]() |
Swift - Friday Pie · 交换数学运算的阶 6 年前 |
![]() |
Acorn · Linux内核的\uu is\u constexpr宏 6 年前 |
![]() |
Acorn · 检测宏中的整数常量表达式 6 年前 |
![]() |
Petr Skocik · 兼容类型并忽略C类型系统中的顶级限定符 6 年前 |