Ste*_*end 11
malloc如果失败则返回NULL.你应该处理那个,以及来自CRT记忆功能的其他故障(realloc尤其容易出错).
在一般情况下,我认为你必须将所有CRT内存的使用包装在你自己设计的函数中,以便重定向错误.
在Windows上,您可以使用分配挂钩功能挂钩到CRT ,这可能是您想要的方式.这使您通过逻辑处理CRT呼吁钩onalloc,onrealloc,onfree,有效.
我不保证,因为我是Windows的人,但看起来Linux上的malloc_hook提供与Windows钩子允许的相同.这些方法应该能够捕获所有CRT内存调用,而无需更改第三方库中的代码,假设它们在运行时都使用相同的CRT - 总是一个好主意,但至少在Windows上无法保证......