gpt4 book ai didi

c - C 中的 MemAlloc 是什么?它与 malloc 有何不同?

转载 作者:太空宇宙 更新时间:2023-11-04 05:41:12 25 4
gpt4 key购买 nike

我遇到过很多次这个问题,但我对此一无所知。我搜索了很多网站。我收集到的信息是:

MemAlloc is a free memory allocation tool. It allows you to stress and test your Windows operating system by requesting any amount of memory you want.

void * Memalloc(ulong size,int flags);

Allocates memory in the context of OllyDbg. Requests are redirected to GlobalAlloc(). Use it to allocate larger chunks of memory. Call Memfree() to free this memory.`

这些信息没有回答我的疑问,我对这个概念还不是很清楚。如果您描述一下 memalloc 的用途,那将是您的荣幸。

我还有一个问题:如果是内存分配工具,malloc 和 memalloc 有什么区别?

最佳答案

OllyDbg is a 32-bit assembler level analysing debugger for Microsoft® Windows®. Emphasis on binary code analysis makes it particularly useful in cases where source is unavailable.

这是一个包含内存分配方法的调试库,例如 Memalloc,它能够检测内存泄漏。 Memalloc 对我来说就像是 Windows GlobalAlloc 上的包装器。

那么 malloc 有什么区别呢?它是未知的,但在我看来它不像大多数 malloc 实现那样快,因为它使用相对过时的 GlobalAlloc 而大多数 malloc 实现使用 VirtualAlloc 分配大块。

看看 MSDN 对 GlobalAlloc 的看法:

Note The global functions have greater overhead and provide fewer features than other memory management functions. New applications should use the heap functions unless documentation states that a global function should be used. For more information, see Global and Local Functions.

关于c - C 中的 MemAlloc 是什么?它与 malloc 有何不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18758425/

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