阅读这个问题:How to know which malloc is used?,似乎有很多不同的malloc实现。
我试图为C ++ new
运算符找到类似的东西,但无法找到有关如何/ new
的实现以及是否存在不同实现的任何信息。他们呢?例如glibc使用什么?
答案 0 :(得分:1)
我找到了几个分配器:
HOARD(GNU +商业许可证)
MicroQuill SmartHeap for SMP(商业许可证)
Google Perf Tools TCMalloc(BSD许可证)
NedMalloc(BSD许可证)
JemAlloc(BSD许可证)
PTMalloc(GNU,还没有Windows端口?)
英特尔线程构建模块(GNU,商业)
但我仍然很好奇如何确定我的编译器使用的默认分配器......
答案 1 :(得分:-1)
根据我的经验,唯一知道的方法就是强迫它:
ssh -L localhost:9000:machineA:9000 user@machineB
对其他3个版本也这样做。
有人肯定会声称你无法取代标准库版本。如果您动态链接标准库,那么它们是正确的,所以不要这样做。如果你是静态链接,这是有效的。