С++ Builder проблема с кучей
Если выделить память в куче любым способом хоть то malloc/free,new/delete,HeapAlloc/HeapFree И что то в ней парсить текстовое с помощью memset,strcpy,strcat и т.д. То кодегвард матерится на каждую такую операцию AccessOverrun типо в блок памяти размера Х пытаются что то запихать размером Х+1байт ,и это независит от количества памяти выделенной под переменную ,все равно будет +1байт :( Вроде бы так ничего ,программа невылетает.НО.Если парсить очень много данных.То при вызове free,delete вылазит AccessViolation :mad: в это случае кодегвард говорит что это "Bad Array" Тоесть место распожение данных в куче куда сдвигается и освободить память становится проблематично :( Как можно боротся с такой фигней?Ибо если перед завершением ф-ции неосвобождать память то она очень заметно течет.
ЗЫ:BDS 2006
|