ZHDA315 September   2026 MSPM0C1103 , MSPM0C1103-Q1 , MSPM0C1104 , MSPM0C1104-Q1

 

  1.   1
  2.   摘要
  3.   商标
  4. 1简介
  5. 2C 编译器优化
    1. 2.1 优化设置
      1. 2.1.1 优化级别
      2. 2.1.2 Optnone
      3. 2.1.3 链接时优化 - LTO
    2. 2.2 运行时模型选项
      1. 2.2.1 数据段与函数段
      2. 2.2.2 函数外提
  6. 3编码技巧
    1. 3.1 为变量和常量选用尽可能小的类型
    2. 3.2 避免乘法和除法
    3. 3.3 使用查找表代替手动计算
    4. 3.4 高效使用函数
    5. 3.5 实现递减计数循环
    6. 3.6 使用 __even_in_range() 内建函数
    7. 3.7 volatile 关键字
  7. 4示例
    1. 4.1 优化级别
    2. 4.2 LTO
    3. 4.3 运行时模型选项
  8. 5总结
  9. 6参考资料

函数外提

函数外提(又称机器码外提)是一种优化技术,它识别出反复出现的机器码序列,并将每一处实例替换为对包含这些操作的新函数的调用。当选择 -Oz 选项时,函数外提即被启用。

表 2-3 函数外提
函数外提选项 效果
-moutline 在函数内部执行机器码外提;仅当确保能减少净代码体积时才会应用。
-moutline-inter-function 更激进的函数外提,但并不总能保证整体代码体积缩减。可与 -Oz 选项结合使用,以启用函数间外提。
-mno-outline 在使用 -Oz 选项时,为给定的编译单元禁用函数外提。