我想在链接时用自定义的malloc替换默认的malloc。但是当我试图在我的程序中重新定义malloc时,我会收到以下错误消息:
MSVCRT.lib(MSVCR80.dll) : error LNK2005: _malloc already defined in test.lib(test.obj)
这在任何Unix上都可以完美运行,在Windows上大多数函数也可以,但与malloc不兼容。我该怎么做?并且,是什么使得无法覆盖malloc?
我知道我可以用自定义的malloc替换每个调用,或使用宏来实现此目的,但我不想修改每个第三方库。
_CrtSetAllocHook
是什么:https://msdn.microsoft.com/zh-cn/library/cy8c7wz5.aspx - dashesy