gpt4 book ai didi

c - 如何在特定位置分配内存

转载 作者:太空宇宙 更新时间:2023-11-04 08:52:51 24 4
gpt4 key购买 nike

这是给 C 的。

我认为 malloc 通常会在上次分配后分配堆上的下一个可用空间。

是否可以让 malloc 不这样做并选择您希望在堆上分配内存的位置?

一般有什么方法可以在堆上分配内存,并且不是下一个可用地址而是“更远”的地址?

基本上,我的 malloc 空间 + 更多空间被覆盖(作为测试)所以我丢失了与 malloc 空间关联的元数据,因为它存储在 malloc 空间旁边(即使我使用不同的 malloc 调用)。

谢谢,杰里米

最佳答案

要临时解决由 malloc 分配的内存块的内存损坏,只需分配比您通常需要的更多的内存,这样您的 block 就更大了。这将为他们提供更多空间,以便在您的程序受到不利影响之前进行错误修改。

执行此操作用于临时调试目的,以便您可以调查程序的行为,同时找出问题所在。

此外,还有其他技术可用于分析不正确的内存访问,包括诸如 valgrind 之类的分析器和调试器“观察点”功能,这些功能会中断程序并在所选位置被修改时通知您。

关于c - 如何在特定位置分配内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18988075/

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