????C++????????????????????????п??????????????????????У????ó??????????????????????????????????й?????????????????????????????new?????????????????????????С??ó??????????????????????????????й?????????????24С????е??????????????????????????????????????????????????????????
?????????????η??????????й????????????c++??????????????????????????????й?????????в????????????????????????????в??й ????????????????????й???????????????У??????????????????????й????????????????????????????Ρ?
????????????????vs2003?м?????й????????????λ????????ο?????vc6???????????Щ????????????в???????????
?????????????
?????????????????????????24С????е???????????й????????????????????????й????????????????????ó????????????????10?????й??????????????????L(eak)??
??????????10????????????????????????????A(lloc)???????????????????????????????????????????????н??????????????N(ormal)??й??????L??????
????A = N + L
????????????????У?????N?????????????????????????????????????????????L?????????????????????????????????????????
?????????????????????????????????????????????е?20??????????????й?????dL/10?????????????£?
????----------------|--------------------|-------------------|----------------------------
????Tn-2 Tn-1 Tn
????????????10?????????????????????
????Tn????????????? An = N + dL * n??N???????????棬dL*n????й???????????Tn-1????????????? An-1 = N + dL*(n-1)???????????????????????????????????????????????????????λ?????????й??? dL = An - An-1??
???????????Dump???????????
??????????????????????????????????????????????????????????????????????????浽????У??????б???????????m$???????????????????Σ????????????????????????????????£?
???????????????????
??????StdAfx.h????????′????????????_CRTDBG_MAP_ALLOC?????????dump????????????????λ?á?
????#ifdef _DEBUG
????//for memory leak check
????#define _CRTDBG_MAP_ALLOC //?????????dump????????????????????
????#include<stdlib.h>
????#include<crtdbg.h>
????#endif
?????????????
?????????????????????????ó??????????????′???????????????????????????????????????????????????????????
????//enable leak check
????_CrtSetDbgFlag( _CRTDBG_REPORT_FLAG);
???????????????dump???
???????????????£????й???dump???????????vs??debug????????????????????????????????vs??debug??????????й??????????dump???????????dump????С??????????????2????
????HANDLE hLogFile;//?????????????
????hLogFile = CreateFile("./log/memleak.log"?? GENERIC_WRITE?? FILE_SHARE_WRITE|FILE_SHARE_READ??
????NULL?? CREATE_ALWAYS?? FILE_ATTRIBUTE_NORMAL?? NULL);//??????????
????_CrtSetReportMode(_CRT_WARN?? _CRTDBG_MODE_FILE);//??warn???????????????????????dump????漶???warning??
????_CrtSetReportFile(_CRT_WARN?? hLogFile);//??????????????澯????????
???????????Dump