Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: бывает ли malloc на стеке ?
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > Программирование
megajohn
бывает ли в каких-нибудь ОС malloc на стеке ? ( к примеру stack_alloc )
это должно быть быстрее чем на куче - тупо работа с SP текущей задачи

а то бывает нужно простое
func( len )
{
BYTE tmp[ len ];
send( tmp, len );
}

И понимаешь что malloc/free это лишняя блокировка прерываний и лишние такты на работу
ASN
megajohn
А зачем?
Чем статическое выделение буфера при входе в функцию не устраивает?
megajohn
Цитата(ASN @ Nov 7 2014, 18:28) *
Чем статическое выделение буфера при входе в функцию не устраивает?


не устаивает тем, что необходимый размер выясняется в процессе работы функции
Rst7
Бывает. Функция alloca(). Однако, например, в IAR'е не реализован (хотя может и есть уже).

QUOTE
не устаивает тем, что необходимый размер выясняется в процессе работы функции


Есть тонкость. В стеке надо иметь места на макс. возможный размер всегда. А значит, можно локально выделять сразу максимум, все равно он есть (должен быть).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.