Главная arrow Программирование arrow ARM arrow IAR EW ARM: почему не работает malloc Tuesday, October 24 2017  
ГлавнаяКонтактыАдминистрированиеПрограммированиеСсылки
UK-flag-ico.png English Version
GERMAN-flag-ico.png Die deutsche Version
map.gif карта сайта
нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.

Поделиться:

IAR EW ARM: почему не работает malloc Версия для печати
Написал microsin   
31.12.2008

Если не задать размер области памяти для кучи (heap), то будет считаться, что в проекте вся память под данные (переменные, массивы) выделяется статически. При этом динамическое выделение блоков памяти с помощью malloc работать не будет (malloc всегда будет возвращать NULL).

Чтобы исправить ситуацию, нужно задать размер кучи. Это делается через свойства проекта. Заходим в меню Project -> Options... -> Linker -> закладка Config -> в Linker configuration file ставим галочку "Override default", указываем имя кофигурационного файла для линкера, жмем кнопку Edit..., на закладке Vector Table параметр .ntvec start указываем 0, на закладке Stack/Heap Sizes указываем нужные параметры стеков и размер HEAP.

 

Добавить комментарий

:D:lol::-);-)8):-|:-*:oops::sad::cry::o:-?:-x:eek::zzz:P:roll::sigh:

Защитный код
Обновить

< Пред.   След. >

Top of Page
 
microsin © 2017