c - 使用 malloc() 的局部变量需要多大的内存大小?
问题描述
如果我有一个结构作为局部变量,它只在内部的函数中使用,但它的大小有点大但小于堆栈帧最大大小,我想直接定义它以避免调用 malloc()但我也害怕变量大小的总和超过堆栈帧大小的限制。使用malloc的局部变量的大小有什么标准吗?
解决方案
这当然取决于操作系统,但主观的经验法则是,大约 1 kib 的对象在堆(或 in .data
)上比在堆栈上更好。
尽管有些库他们希望许多对象中的一个可能很大,但为了保持一致性,将所有内容都放在堆上。
推荐阅读
- database - 如何使用 iotdb-client-go 解决 IoTDB 编译错误?
- node.js - Datadog:跟踪范围返回 null
- r - R; 以闪亮的方式显示 gganimate .mp4 文件
- python - Q:ERROR: Command errored out with exit status 1:
- reactjs - React 新手,我正在尝试链接 2 个页面,它不会呈现,但路径会显示在浏览器中
- javascript - 如何在 Javascript 中读取窗口对象的控制台?
- core-data - SwiftUI PreviewProvider 使用 CoreData 显示特定的 NSManagedObject 条目
- jquery - 模态打开jQuery时标记复选框
- twilio - Studio 流程 -> 发送消息 -> 功能(电子邮件)
- elsa-workflows - Elsa Workflow - 运行时的审批者