怎样检查你的代码有没有内存泄露呢? 需要在前面加上这些代码: #ifdef _DEBUG #define DEBUG_CLIENTBLOCK new( _CLIENT_BLOCK, __FILE__, __LINE__) #else #define DEBUG_CLIENTBLOCK #endif #define _CRTDBG_MAP_ALLOC #include <stdlib.h> #include <crtdbg.h> #include <string.h> #include <stdio.h> #ifdef _DEBUG #define new DEBUG_CLIENTBLOCK #endif 然后在要检测的代码前面加上: _CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); 在后面加上: _CrtDumpMemoryLeaks(); 如: #ifdef _DEBUG #define DEBUG_CLIENTBLOCK new( _CLIENT_BLOCK, __FILE__, __LINE__) #else #define DEBUG_CLIENTBLOCK #endif #define _CRTDBG_MAP_ALLOC #include <stdlib.h> #include <crtdbg.h> #include <string.h> #include <stdio.h> #ifdef _DEBUG #define new DEBUG_CLIENTBLOCK #endif int main() { _CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); int *p; p = new int; _CrtDumpMemoryLeaks(); return 0; } 然后按F5进行调试,会发现输出框中显示: Detected memory leaks! 原文地址 http://nealblog.cn/blog/boblog/read.php?92 还没试过,不知道行不行 哈哈 试一下~