【问题标题】:Where I can to find C malloc/free source code of implementation for Windows in mingw? [closed]在哪里可以找到 mingw 中 Windows 的 C malloc/免费实现源代码? [关闭]
【发布时间】:2015-09-12 11:14:46
【问题描述】:

我需要查看源代码以了解在编写 Windows 应用程序时 malloc 代码内部发生的情况。

【问题讨论】:

  • 然后看源码...这不是lmgtfy-service .. :o

标签: c malloc


【解决方案1】:

正如您所指出的,您正在寻找特定于 mingw 的实现,因此更容易理解为什么您无法自己找到解决方案。

Mingw 是“Windows 的极简 GNU”,因此您可能正在寻找 GNU libc implementation

延伸阅读:How is malloc() implemented internally?

【讨论】:

    【解决方案2】:

    使用 MinGW 工具链构建的二进制文件使用旧版 Windows C 运行时 msvcrt.dll。它对malloc的实现基本上只是调用HeapAlloc来分配内存。

    据我所知,Win32 堆的源代码(HeapAlloc 和朋友)尚未公开。

    【讨论】:

    • 啊,这是一个很好的提示!还有一个问题,为什么叫它legacy?这不是 C 语言编写的原生 win32 应用程序的标准运行时吗?
    • @FelixPalmen:针对 msvcrt.dll 的最后一个 Visual C++ 版本是 Visual C++ 6。后续版本包括它们自己的运行时库。 Visual C++ 2015 和 Windows 10 引入a new system C runtime.
    • 哦,谢谢你的信息!所以可能 mingw 应该在未来链接到 THIS ...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-23
    • 1970-01-01
    • 1970-01-01
    • 2012-08-19
    • 1970-01-01
    • 2010-10-01
    • 2012-07-06
    相关资源
    最近更新 更多