关于new等函数对任务管理器中内存、句柄数变化的影响

来源:互联网 发布:excel如何查重复数据 编辑:程序博客网 时间:2024/05/16 17:23

以下代码在XP+VS2008 DEBUG环境下测试:

 

#include <stdio.h>#include <windows.h>typedef void (*PFNDo)();void runtest(PFNDo pfn) { while(1) { pfn();Sleep(100); } }void do_nop() { ; }void do_new() { int* p = new int[5]; }void do_event() { HANDLE hEvent = CreateEvent(NULL,FALSE,TRUE,NULL); }void do_mapping() { HANDLE hFile = CreateFileMapping(NULL,NULL,0,0,1024,"CHINA20130327CCTVTEST"); }void do_file() { HANDLE hFile = CreateFile("D:\\testfile",GENERIC_READ,FILE_SHARE_READ,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL); }void do_thread() { ; }void do_process() { HANDLE hProcess = OpenProcess(0,FALSE,3092); }int main(){//// (内存使用,虚拟内存大小,句柄数,线程数)//unsigned int op = 1;switch(op){case 0:runtest(do_nop);break;// 一直维持在(652K,224K,7,1)case 1:runtest(do_new);break;// 内存和虚拟内存持续增加,某个时刻结果为(700K,276K,7,1)case 2:runtest(do_event);break;// 句柄数持续增加,某个时刻结果为(656K,224K,604,1)case 3:runtest(do_mapping);break;// 一直维持在(656K,224K,7,1)case 4:runtest(do_file);break;// 一直维持在(656K,224K,8,1)case 5:runtest(do_process);break;// 一直维持在(660K,224K,7,1)default:break;}return 0;}

0 0