Вы не можете получить доступ к куче надежно без malloc, но есть альтернативы для выделения памяти.
Если вы пытаетесь получить более точный контроль над распределением памяти, вы можете использовать другие менеджеры памяти, такие как bget memory allocator . Здесь вы берете огромный кусок кучи (ожидаемый максимальный объем памяти + некоторые накладные расходы), используя malloc
, и передаете его bget, используя bpool
. С этого момента, звоните bget
вместо malloc
, чтобы выделить память, и brel
, чтобы освободить ее. bget, как сообщается, лучше во избежании фрагментации памяти.