写了两个静态库,两个静态库互相调用,总是出现内存泄漏,两个静态库里面都没有分配内存,怎么可能出现内存泄漏。
调试了一晚上,郁闷一晚上。
今天早起就过来调试,最后发现了问题并解决。
假设静态库LibOne.lib和LibTwo.lib,以及Run.exe三个工程
LibTwo.lib工程调用LibOne.lib
Run.exe工程调用LibOne.lib和LibTwo.lib
出现了内存泄漏。
原因在于三个工程Character Set设置不同
LibOne.lib工程设置Use Multi-Byte Character Set
LibTwo.lib工程设置Use Unicode Character Set
Run.exe工程设置Use Multi-Byte Character Set
这样就会造成内存泄漏,而且泄漏原因比较难查找,将LibTwo.lib工程设置修改为Use Multi-Byte Character Set,问题解决。
为什么会出现这样的原因,无找到具体理由。有人知道可以留言,谢谢。