【发布时间】:2012-09-17 22:05:53
【问题描述】:
我知道 _alloca 的行为是在您离开函数时从堆栈中释放内存。有没有办法提前释放内存?
【问题讨论】:
-
@Mysticial:
_alloca受堆栈大小的限制——通常不超过一兆字节。虽然不明智,但我很容易理解重复使用这种稀缺商品的愿望。 -
不,还有,不要使用
_alloca。 -
如果您的编译器支持 VLA(来自 C99)作为扩展,则块范围的 VLA 将在块退出时释放,而不是在函数退出时释放。