??????C++?У??????5???????????????????????洢???????/????洢????????洢????
???????????Щ????????????????????????????????????????????洢????????????????????????????????????
???????????Щ??new????????飬????????????????????????????ó???????????????new???????delete???????????????????????????????????????????????
????????洢????????Щ??malloc?????????飬??????????????????????????free??????????????????
???????/????洢????????????????????????????????У????????C?????У???????????????????δ??????????C++?????????????????????????????????????
?????????洢??????????????????洢??????????????????????????????????????????????????????????????????????????const???????????У????????6???????
???????????????
??????bbs???????????????????????????????????????????????????????????????????????????????????????
??????????????????????
????void f() { int* p=new int[5]; }
??????????????仰????????????????new????????????????????????????????棬??????p??????????????????棬??????仰????? ??????????д?????????????????????p?????????????????з????????С????????operator new??????棬????????????????????????У?????VC6?μ?????????£?
????00401028 push 14h
????0040102A call operator new (00401060)
????0040102F add esp??4
????00401032 mov dword ptr [ebp-8]??eax
????00401035 mov eax??dword ptr [ebp-8]
????00401038 mov dword ptr [ebp-4]??eax
??????????????????????????棬?????????????????delete p????????????????delete []p??????????????????????????????????飬VC6??????????Cookie????????????????????
????????????????????????????????????????
??????????????????????
????1?????????????
????2??????С?????
????3????????????????
????4?????????????
????5????????????
????6??????Ч??????
??????????????????????????????????????????????????????????????????????????????????????????memory leak??
????????С???????????32λ???£??????????4G????????????????????漸????????????????????????????????????????????С??????磬??VC6???棬?????????С??1M????????????????????????????????????
??????????????β?????????£?Project->Setting->Link????Category ?????Output???????Reserve???趨?????????commit??
???????reserveС??4Byte??commit??????????????????????棬?????????????????????????????????????????????
???????????????????????????new/delete?????????????????????????????????????????Ч????????????????????????????? ??????????????????У???????????????????????????????????????????????м???????????????????????????????????????????????? ??????ο????????????????????????????
???????????????????????????????????????????????????????????????????????????????????????μ???????????????С???????????
??????????????????????????о????????????2?????????????????????????????????????????????????????????????????alloca???????з???????????????????????????????????????????????????????????????????
????????Ч?????????????????????????????????????????????????????????????????????????????????У???????????Ч?? ???????????C/C++?????????????????????????????????????????棬????????????????????????????ο??????/?????????? ????????????????????С??????????????С??????????????????????????п????????????????????????ε???????????л??? ???????С????棬?????з????????????Ч?????????
?????????????????????????????????????new/delete?? ?????????????????????????????????????????Ч?????????????????????????????л????????????????????????????????????? ??ù??????????????????????????????????ù????е??????????????EBP???????????????????????????????????????????????? ????????
??????????????????????????????????????????????????????????????????????Щ??
????????????????????????????????????????????????????磩???????????????????????????????????????????????????????? ???????????????й????У???з?????????????????С??????????????????????debug??????????????