在
调用c
函数之前,我需要实例化一个char [16384]缓冲区.
函数返回后,我将读取它的一些部分并丢弃它.
可以在堆栈上分配它,还是应该使用堆?
编辑:我会添加一些信息.该代码将运行在几个平台上,从PC到iPhone,我猜这个堆栈空间不会太大,但是我不知道.
很难给出这个问题的肯定是或否,因为答案高度依赖于你的环境,并且程序在什么时候
调用分配内存的
函数.
就个人而言,如果我在代码审查中看到这一点,我会举起一个红旗.这是用于基于堆栈的缓冲区的大量内存.今天可能在您正在使用它的特定地点工作,但是当您在下面放置一个更大的堆栈时,明天会怎么样?或者当客户遇到您没有考虑的场景?
但是像我说的那样,依赖于场景,对于你的具体情况可能会很好.你的问题上没有足够的细节来说是或否