在当前函数退出之前,是否可以显式释放C的alloca()分配的内存?如果是这样,怎么办?

最佳答案

可以,但是没有预先编写的函数可以执行此操作。您必须深入研究编译器的alloca()实现,以弄清它在做什么,然后编写自己的freea()。由于每个编译器对alloca()的处理方式都不同,因此您必须为每个编译器重写freea()。

但是我很难相信这会带来麻烦。如果需要显式释放它,则只需使用malloc/free -这些功能通常进行了优化。利用它们。

关于optimization - 释放分配给alloca的内存,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/283024/

10-12 00:27