Jump to content

    
Sign in to follow this  
megajohn

бывает ли malloc на стеке ?

Recommended Posts

бывает ли в каких-нибудь ОС malloc на стеке ? ( к примеру stack_alloc )

это должно быть быстрее чем на куче - тупо работа с SP текущей задачи

 

а то бывает нужно простое

func( len )

{

BYTE tmp[ len ];

send( tmp, len );

}

 

И понимаешь что malloc/free это лишняя блокировка прерываний и лишние такты на работу

Share this post


Link to post
Share on other sites
Чем статическое выделение буфера при входе в функцию не устраивает?

 

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

Share this post


Link to post
Share on other sites

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

 

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

 

Есть тонкость. В стеке надо иметь места на макс. возможный размер всегда. А значит, можно локально выделять сразу максимум, все равно он есть (должен быть).

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this