c - 在 C 中减少内存使用的一些最佳实践是什么?

标签 c optimization memory-management

“高效内存 C 编程”的一些最佳实践是什么? 主要针对嵌入式/移动设备,内存消耗低的准则应该是什么?

我猜 a) 代码内存 b) 数据内存应该有单独的指南

最佳答案

在 C 语言中,在更简单的层面上,考虑以下内容;

  • 使用#pragma pack(1) 对结构进行字节对齐
  • 在结构可以包含不同类型数据的地方使用 union
  • 使用位字段而不是整数来存储标志和小整数
  • 避免使用固定长度的字符数组来存储字符串,实现字符串池并使用指针。
  • 存储对枚举字符串列表的引用,例如字体名称,将索引存储到列表中而不是字符串
  • 使用动态内存分配时,提前计算所需的元素数量以避免重新分配。

关于c - 在 C 中减少内存使用的一些最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/404615/

相关文章:

c# - 常见内存优化

ios - 调用presentViewController方法的UIViewController是否从内存中移除?

c - 使用 mmap 在 C 中逐行读取文件的最佳方法?

c++ - 在if语句中优化/减少条件表达式

java - 使用 SWIG 的 C 函数的 JNI 包装器 - 类型映射应该是什么?

c# - 速度优化 Windows 窗体应用程序

javascript - 如何在 Javascript 中对循环的不同部分进行计时

windows - 内核内存地址空间

c - 可读性与可维护性 : Condensing statements to loops

c - 如何通过分段或分页防止缓冲区溢出?