【发布时间】:2011-10-21 14:01:01
【问题描述】:
这是my previous question 关于为什么需要 size_t 的后续行动。
鉴于 size_t 保证足够大以表示您可以分配的内存块的最大大小(意味着仍然可以有一些大于 size_t 的整数),我的问题是......
什么决定了你一次可以分配多少?
【问题讨论】:
-
看看我对你的问题所做的更正
-
操作系统。这些只是一些额外的字符,因为评论不够长。
-
@xanatos 所以 size_t 实际上可以比它需要的更大吗?
-
@Paul 是的。正如我在另一篇文章中所说,在 Windows Server 2008 R2 上,你不能真正分配 64 位内存(就像你不能在 Windows 32 位上分配 4 GB 内存一样),仍然是
size_t是 64 位和 32 位长。它们通常四舍五入(通常是处理器的字长,32 位或 64 位)
标签: c memory-management size-t