当我使用以下代码时,它会检测到内存泄漏。我怎么能不成功呢?
_CrtMemState startState;
_CrtMemState endState;
_CrtMemState temp;
_CrtMemCheckpoint(&startState);
const char* foo = "I'm not leaking memory! Stop saying I am!";
_CrtMemCheckpoint(&endState);
_CrtMemDifference(&temp, &startState, &endState); // Returns true. Wtf?
答案 0 :(得分:1)
我剪切并粘贴了你的代码并在VS2008下的机器上进行了测试,_CrtMemDifference返回0 ...
经常听到格言:“在我的机器上工作”;)
编辑:你有多个线程在运行吗?是否有可能另一个线程在2 _CrtMemCheckpoint调用之间分配了什么?