alloca — выпуск c ++ «_alloca» Тед памяти из стека

Я знаю, что поведение _alloca заключается в освобождении памяти из стека, когда вы покидаете функцию. Есть ли способ освободить память раньше?

0

Решение

Нету. Там нет смысла в использовании _alloca в любом случае — вы можете написать высокоскоростной распределитель памяти пула, который может выделять и освобождать быстрее из кучи и с меньшими ограничениями по размеру.

2

Другие решения

нет, нет (исключая возмущение со стеком явно, например, в asm блок) но вы можете использовать _malloca а также _freea, если вам нужно что-то подобное.

РЕДАКТИРОВАТЬ: как отмечает BoBTFish: If it was allocated on the stack, _freea does nothing поэтому этот ответ неверен по отношению к освобождению памяти ранее. Тем не менее, я думаю, что лучше не удалять его, поскольку это указывает на альтернативу _alloca что несколько безопаснее.

1

По вопросам рекламы [email protected]