Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
Пытался выделить блок из 20 байт, размер HEAP-а был установлен 32 байта (0x20).
Дохожу до выполнения команды new. После запуска функция долго ходит по различным командам, что то выполняет, а после устанавливается в RJMP 0, и соответственно таким образом зависает. При этом new не только НЕ лезет в область стека, но и сам HEAP полностью не используется, изменяются только несколько первых байт.
Использование malloc при тех же обстоятельствах дало иной результат: первый блок памяти в 20 байт он выделил, а при повторном запросе выдал NULL, т.к. свободной памяти в HEAP-е уже не осталось. Здесь все ОК.
Напрашивается вердикт: либо new использует значительно больше памяти, чем нужно, к примеру, malloc-у, и изменяются еще какие-то ячейки, либо я чего-то не понимаю.....
Составить ответ | Вернуться на конференцию
Ответы