首页 > 解决方案 > 特定于平台的方式(Windows)来替换 malloc(和其他 C 分配风格)?

问题描述

我知道虽然 c++::operator new和相关的风格可以被替换/覆盖,malloccalloc等等)不能。

但是,是否还有一些(可能是特定于平台的)方法来实现相同的效果(例如malloc,用在每次分配时将某些内容打印到标准输出的实现替换所有调用)?也许使用一些链接器魔法?特别是,我想替换我链接到我的应用程序的静态库使用的 malloc(不更改这些库代码)。我对 Windows 的解决方案感兴趣,但如果有人有另一个平台的解决方案,那当然也是一个有趣的指针。

标签: c++cwinapilinkermalloc

解决方案


Malloc 可以被重载或覆盖。查看这个指向 mi-malloc 的链接https://microsoft.github.io/mimalloc/overrides.html


推荐阅读