10.07.2015 Views

MPLAB® C30 C 编译器用户指南

MPLAB® C30 C 编译器用户指南

MPLAB® C30 C 编译器用户指南

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

MPLAB ® <strong>C30</strong> 用 户 指 南3.5.6 控 制 优 化 的 选 项表 3-8:一 般 优 化 选 项选 项定 义-O0 不 要 优 化 。( 这 是 默 认 设 置 。)不 指 定 -O 选 项 , 编 译 器 的 目 标 是 降 低 编 译 成 本 , 使 调 试 产 生期 望 的 结 果 。 语 句 是 独 立 的 : 如 果 在 语 句 中 插 入 断 点 暂 停 程序 , 然 后 可 以 给 任 何 一 个 变 量 赋 一 个 新 的 值 或 将 程 序 计 数 器 更改 到 指 向 函 数 中 的 任 何 其 他 语 句 , 得 到 希 望 从 源 代 码 得 到 的 结果 。编 译 器 仅 将 声 明 为 register 的 变 量 分 配 到 寄 存 器 中 。-O-O1优 化 。 优 化 编 译 需 要 花 费 更 多 的 时 间 , 且 对 于 较 大 的 函 数 , 需要 占 用 更 多 的 存 储 空 间 。指 定 -O 选 项 时 , 编 译 器 试 图 减 小 代 码 尺 寸 并 缩 短 执 行 时 间 。指 定 -O 选 项 时 , 编 译 器 开 启 -fthread-jumps 和-fdefer-pop, 并 开 启 -fomit-frame-pointer。-O2 执 行 更 多 优 化 。 MPLAB <strong>C30</strong> 几 乎 执 行 所 有 支 持 的 优 化 , 而 不进 行 空 间 和 速 度 的 权 衡 。 -O2 选 项 使 能 除 循 环 展 开(-funroll-loops)、 函 数 内 联(-finline-functions) 及 严 格 别 名 优 化(-fstrict-aliasing) 之 外 的 所 有 可 选 优 化 。 这 个 选 项 还使 能 强 制 复 制 存 储 器 操 作 数 (-fforce-mem) 及 帧 指 针 删 除(-fomit-frame-pointer)。 与 -O 相 比 , 这 个 选 项 增 加 了编 译 时 间 , 但 提 高 了 生 成 代 码 的 性 能 。-O3 执 行 最 多 的 优 化 。 -O3 开 启 所 有 -O2 指 定 的 优 化 并 开 启 内 联 函数 选 项 。-Os优 化 代 码 尺 寸 。 -Os 使 能 一 般 不 增 加 代 码 尺 寸 的 所 有 -O2 优化 。 同 时 执 行 用 于 减 小 代 码 尺 寸 的 其 他 优 化 。DS51284C_CN 第 42 页© 2005 Microchip Technology Inc.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!