【发布时间】:2014-01-24 06:36:33
【问题描述】:
如果我没有忽略某些内容,则选择 uintmax_t 可以处理整数情况。
(1) 浮点数是否有类似的数据类型,如果有,在哪个标头中? (对我来说它不在 float.h 中)
(2) 选择这两种数据类型的并集是否正确(假设我们可以肯定地回答 (1))应该始终是最严格的?
【问题讨论】:
-
在“确定可移植性”中,在 given 平台上找到最严格的对齐方式可能无法解决更大的问题。也许使用“最严格的数据类型”的代码示例会有所帮助?
-
@chux:以书中旧的 K&R 最后一个例子:重新创建 malloc。他使用的链表的标题是为了与任意选择的(在他的情况下)“最严格的对齐方式(长)”对齐。我目前正在阅读 Kerrisk TLIP,一个练习是再次实现 malloc。我的意思是利用这个机会使其尽可能便携,并像这样对齐列表。
-
谢谢 - 很高兴您确保与
OP_malloc()保持一致,每 §7.22.3 1 内存管理功能“...适当对齐,以便可以将其分配给指向具有基本对齐要求的任何类型对象的指针..."。