首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >c++从堆栈中释放"_alloca“ted内存

c++从堆栈中释放"_alloca“ted内存
EN

Stack Overflow用户
提问于 2012-09-26 17:52:19
回答 2查看 386关注 0票数 0

我知道_alloca的行为是在你离开函数时释放堆栈中的内存。有没有办法提前释放内存?

EN

回答 2

Stack Overflow用户

发布于 2012-09-26 18:39:59

不是的。无论如何,使用_alloca是没有意义的-您可以编写一个高速池内存分配器,它可以更快地从堆中分配和释放内存,并且大小限制更少。

票数 2
EN

Stack Overflow用户

发布于 2012-09-26 18:30:57

没有(不包括显式地处理堆栈,例如在asm块中),但是如果你需要这样的东西,你可以使用_malloca_freea

编辑:正如BoBTFish所说:If it was allocated on the stack, _freea does nothing,所以这个答案是不正确的,wrt提前释放内存。然而,我认为最好不要删除它,因为它指向了_alloca的另一个更安全的替代品。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12599048

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档