ZHCUCO7B December   2024  – November 2025 F29H850TU , F29H859TU-Q1

 

  1.   1
  2.   摘要
  3.   商标
  4. 1引言
  5. 2性能优化
    1. 2.1 编译器设置
      1. 2.1.1 启用调试和源代码交叉列
      2. 2.1.2 优化控制
      3. 2.1.3 浮点数学
      4. 2.1.4 定点除法
      5. 2.1.5 单精度与双精度浮点
      6. 2.1.6 链接时优化 (LTO)
    2. 2.2 存储器设置
      1. 2.2.1 从 RAM 执行代码
      2. 2.2.2 从闪存执行代码
      3. 2.2.3 数据放置
    3. 2.3 代码结构和配置
      1. 2.3.1 内联
      2. 2.3.2 内联函数
      3. 2.3.3 易失性变量
      4. 2.3.4 函数参数
      5. 2.3.5 启用更广泛的数据访问
      6. 2.3.6 自动代码生成工具
      7. 2.3.7 准确剖析代码
    4. 2.4 应用代码优化
      1. 2.4.1 SDK 优化库
      2. 2.4.2 使用库优化代码尺寸
      3. 2.4.3 C29 特别指令
      4. 2.4.4 C29 并行性
      5. 2.4.5 首选 32 位变量和写入
      6. 2.4.6 编码风格及其对性能的影响
  6. 3参考资料
  7. 4修订历史记录

内联

通过消除极小函数的函数调用和返回的开销,从而允许编译器在函数调用周围代码的上下文中执行优化,内联可以带来性能优势。对于那些只调用几次的大型函数,这也可能是有益的。

要启用内联,编译器需要优化级别达到 -O1 或更高(达到 -O0,属性可以强制内联),并且需要能够在编译时查看函数的定义。因此,可以内联对同一源文件中定义的函数的调用,以及头文件中使用“static”定义的函数,其中头文件包含在源文件中。

注: 链接时优化 (LTO) 使编译器能够内联源文件中定义的函数,这些源文件与调用它们的源文件不同。