【发布时间】:2011-07-13 11:59:56
【问题描述】:
是否可以通过任何 Windows API 分配 7 个字节的内存并仅释放前 3 个字节以形成一个 4 字节块。
【问题讨论】:
-
有什么用?如果你能更好地描述你想要实现的目标,你会得到有意义的答案......
-
你为什么要这样做?为什么不先分配 4 个字节?
-
做一个 realloc 并让实现担心它应该如何获得你需要的 4 个字节。如果您需要确定(因为您需要使用相同的指针)自己实现内存分配器。 PS:我不认为 Windows 提供任何机制来保存指针。你总是可以为你的 7 字节内存块使用一个长度参数,告诉你“允许”使用多少内存。
-
AFAIR Windows 本身管理 4K 块的内存。较低的值由 c 编译器的内存管理器管理。
-
我需要分配的内存地址是 4 的倍数。我的地址应该是 400、404、408、40c 等,因此分配 7 并在其中找到 4 的倍数。
标签: c windows winapi memory memory-leaks