jemalloc 怎么自动替换掉项目中已使用的malloc和new?

发布于 2022-09-04 08:39:49 字数 255 浏览 18 评论 0

请教一下
在windows下使用jemalloc,看了下测试例子,是调用je_mallocje_free操作的
但是项目中已经有了很多malloc和new

必须自己去处理new以及stl::allocator替换成je_malloc么?
还是有类似tcmalloc一样比较方便的使用方法?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

浅浅淡淡 2022-09-11 08:39:49

不知道你具体怎么在windows下使用,不熟悉vs,但原理应该适用。
如果你还是gcc/mingw,可以直接优先链接jemalloc库就可以全局替换为使用jemalloc的实现了。
下面是一个例子:
cc app.c -o app -L${JEMALLOC_PATH}/lib -Wl,-rpath,${JEMALLOC_PATH}/lib -ljemalloc
来自文档:
https://github.com/jemalloc/j...
在Linux你也可以直接编译好的jemalloc的库路径加到LD_LIBRARY_PATH

这是常见的连接时依赖注入的用法。
你可以试着回答原来的malloc函数是哪里来的,是怎么连接进当前这个程序的?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文