最近在项目中使用vector的导出类为lua使用,在测试内存泄露的时候发现会有内存泄露,当时以为是哪一处的C++代码写得有问题,最后发现是脚本在调用
vector中出现了问题,
1.vector是一个local变量 ,local vc=new vector()
2.自认为lua会在内存清理的时候调用collectgarbage自动清理内存的,后来发现这是不正确的,lua并不会自动清理这些内存,因为我每次进行一次循环都调用了collectgarbage("collect"),但是内存还是不断地上涨
后来通过禁用这个脚本的调用整个程序的内存稳定了,最后找到了这个原因,只需要调用delete这个vector变量即可了