c – 在堆栈上分配16kb是太多了吗?

前端之家收集整理的这篇文章主要介绍了c – 在堆栈上分配16kb是太多了吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
调用c函数之前,我需要实例化一个char [16384]缓冲区.函数返回后,我将读取它的一些部分并丢弃它.

可以在堆栈上分配它,还是应该使用堆?

编辑:我会添加一些信息.该代码将运行在几个平台上,从PC到iPhone,我猜这个堆栈空间不会太大,但是我不知道.

解决方法

很难给出这个问题的肯定是或否,因为答案高度依赖于你的环境,并且程序在什么时候调用分配内存的函数.

就个人而言,如果我在代码审查中看到这一点,我会举起一个红旗.这是用于基于堆栈的缓冲区的大量内存.今天可能在您正在使用它的特定地点工作,但是当您在下面放置一个更大的堆栈时,明天会怎么样?或者当客户遇到您没有考虑的场景?

但是像我说的那样,依赖于场景,对于你的具体情况可能会很好.你的问题上没有足够的细节来说是或否

猜你在找的C&C++相关文章