c++ - 在 C++ 中优化空间而不是速度

标签 c++ optimization embedded

当您说“优化”时,人们往往会想到“速度”。但是对于速度不是那么关键但内存是主要限制因素的嵌入式系统呢?有哪些指南、技术和技巧可用于减少 ROM 和 RAM 中多余的千字节?一个“配置文件”代码如何查看内存膨胀的位置?

附:有人可能会争辩说,“过早地”优化嵌入式系统中的空间并不是那么邪恶,因为您为数据存储和功能蔓延留出了更多空间。它还允许您降低硬件生产成本,因为您的代码可以在更小的 ROM/RAM 上运行。

附言也欢迎引用文章和书籍!

P.P.P.S.这些问题密切相关:404615 , 1561629

最佳答案

我在一个极度受限的嵌入式内存环境中的经验:

  • 使用固定大小的缓冲区。不要使用指针或动态分配,因为它们的开销太大。
  • 使用最小的 int 数据类型。
  • 永远不要使用递归。始终使用循环。
  • 不要传递大量的函数参数。改用全局变量。 :)

关于c++ - 在 C++ 中优化空间而不是速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2082739/

相关文章:

c++ - 如何在 C++ 中创建异步/等待代码?

mysql - 从最后一行开始搜索 mysql 表

c++ - 为什么 g++ 将计算拉入热循环?

c++ - 访问模板参数的 protected 成员

c++ - 在释放/删除时写入垃圾

c++ - 添加字符串的空结尾

c - XMC4400 和 MAX44009 传感器灯 (I2C)

c++ - 我如何分析超出每个功能级别的代码?

c - stm32同时adc读取

embedded - STM32F4 I2C 从接收器