c++ - 特定于平台的方式(Windows)来替换 malloc(和其他 C 分配风格)?
问题描述
我知道虽然 c++::operator new
和相关的风格可以被替换/覆盖,malloc
(calloc
等等)不能。
但是,是否还有一些(可能是特定于平台的)方法来实现相同的效果(例如malloc
,用在每次分配时将某些内容打印到标准输出的实现替换所有调用)?也许使用一些链接器魔法?特别是,我想替换我链接到我的应用程序的静态库使用的 malloc(不更改这些库代码)。我对 Windows 的解决方案感兴趣,但如果有人有另一个平台的解决方案,那当然也是一个有趣的指针。
解决方案
Malloc 可以被重载或覆盖。查看这个指向 mi-malloc 的链接https://microsoft.github.io/mimalloc/overrides.html
推荐阅读
- regex - 我如何使用正则表达式仅识别熊猫数据框中连续的 4-5 位数字
- python - 您如何指定应将特定的 Keras 层分配给 CPU?
- c# - 如何在没有任何 Dapper 缓存的情况下执行 SQL 查询?
- node.js - 无法使用 npm 在 ubuntu 14.04 中安装 polymer-cli
- vue.js - Nuxt.js + Bootstrap-Vue - 单个组件和指令加载
- java - ContextMenu 中的 JavaFX 标签菜单项
- android - 共享对话框不适用于 Facebook 应用 [android]
- python - 如何在 python 中移动 PyQt 中的中心小部件
- x86 - _mm_sfence 内在函数和 SFENCE 指令之间有什么关系?
- python - AttributeError:模块'plotly'没有属性'plotly'