Met*_*est 1 c compiler-construction optimization
该malloc函数始终在堆上分配内存.然而,在研究维基百科上的Escape Analylis文章时,我发现作为一种优化,编译器可以将堆分配转换为堆栈分配.例如,如果它看到只使用分配的内存然后在函数内释放.
malloc
现在我的问题是,程序员有没有办法自己这样做.那是在堆栈上分配内存?我知道C99允许变量作为数组声明的大小给出,但是说程序员想要调整它的大小.可以吗?
SK-*_*gic 5
alloca()是你在找什么.当然,如果你静态地知道你的结构尺寸,那么最好使用局部变量.
alloca()
归档时间:
14 年,8 月 前
查看次数:
199 次
最近记录: