borlndmm
1.0.0
borlndmm.dll 的最小替换库,它包装了本机 Windows 堆分配器。可以直接调整此库以使用不同的分配器后端,例如 jemalloc、tcmalloc 或 mimalloc。
调试版本可以定义 POISON_HEAP_USER_DATA 以便用非 NULL 字节存储新分配或释放的内存块,这可以帮助识别未初始化的变量或释放后使用问题。 WinDbg 等工具可以为本机堆启用附加堆调试功能,例如用户堆栈跟踪,并且 WinDbg !heap 命令可以查询分配情况。这对于解决内存分配问题很有帮助。为了受益于此,您应该通过 map2dbg 将地图文件转换为 dbg 文件,以便 WinDbg 将为您提供正确的符号。
发布版本受益于本机 Windows 堆分配器性能以及内置堆安全缓解措施。
为了避免链接到默认运行时库(即 CC32260MT.DLL 或 CC64260MT.DLL),我们构建了一个空的 c0d32w.obj 和 c0d64w.a。
为了确保 ilink64 生成预期的导出名称,我们使用 DEF 文件手动指定导出。
使用 C++ Builder 构建 borlndmm.cbproj(使用版本 10.3.2 进行测试)。
根据 3-Clause BSD 许可证发布。