加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 07:49:57 所属栏目:百科 来源:网络整理
导读:在调用c函数之前,我需要实例化一个char [16384]缓冲区.函数返回后,我将读取它的一些部分并丢弃它. 可以在堆栈上分配它,还是应该使用堆? 编辑:我会添加一些信息.该代码将运行在几个平台上,从PC到iPhone,我猜这个堆栈空间不会太大,但是我不知道. 解决方法 很
在调用c函数之前,我需要实例化一个char [16384]缓冲区.函数返回后,我将读取它的一些部分并丢弃它.

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

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

解决方法

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读