10.07.2015 Views

MPLAB® C30 C 编译器用户指南

MPLAB® C30 C 编译器用户指南

MPLAB® C30 C 编译器用户指南

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

使 用 MPLAB <strong>C30</strong> C 编 译 器下 面 的 选 项 控 制 特 定 的 优 化 。 -O2 选 项 启 用 这 些 优 化 中 除 -funroll-loops、-funroll-all-loops 和 -fstrict-aliasing 外 的 所 有 优 化 选 项 。在 少 数 情 况 下 , 当 需 要 进 行 “ 微 调 ” 优 化 时 , 可 以 使 用 下 面 的 选 项 。表 3-9:选 项特 定 的 优 化 选 项定 义-falign-functions-falign-functions=n-falign-labels-falign-labels=n-falign-loops-falign-loops=n-fcaller-saves-fcse-follow-jumps-fcse-skip-blocks-fexpensiveoptimizations-ffunction-sections-fdata-sections将 函 数 的 开 头 对 齐 到 下 一 个 大 于 n 的 2 的 次 幂 , 最 多 跳 过 n 字节 。 例 如 , -falign-functions=32 将 函 数 对 齐 到 下 一 个32 字 节 边 界 , 但 是 -falign-functions=24 仅 在 可 以 通 过跳 过 等 于 或 小 于 23 字 节 能 对 齐 到 下 一 个 32 字 节 边 界 的 情 况下 , 才 将 函 数 对 齐 到 下 一 个 32 字 节 边 界 。-fno-align-functions 和 -falign-functions=1 是 等价 的 , 表 明 函 数 不 会 被 对 齐 。汇 编 器 仅 当 n 为 2 的 次 幂 时 , 才 支 持 这 个 标 志 ; 因 此 n 是 向 上舍 入 的 。 如 果 不 指 定 n, 则 使 用 由 机 器 决 定 的 默 认 设 置 。将 所 有 分 支 的 目 标 地 址 对 齐 到 2 的 次 幂 边 界 , 像-falign-functions 一 样 , 最 多 跳 过 n 字 节 。 这 个 选 项 可 能容 易 使 代 码 速 度 变 慢 , 因 为 当 以 代 码 的 通 常 流 程 到 达 分 支 的 目标 地 址 时 , 它 必 须 插 入 空 操 作 。如 果 -falign-loops 或 -falign-jumps 可 用 , 并 且 大 于这 个 值 , 则 使 用 它 们 的 值 。如 果 不 指 定 n, 则 使 用 由 机 器 决 定 的 默 认 设 置 , 很 可 能 是 1,表 明 不 对 齐 。将 循 环 对 齐 到 2 的 次 幂 边 界 , 像 -falign-functions 一样 , 最 多 跳 过 n 字 节 。 希 望 循 环 能 执 行 许 多 次 , 从 而 补 偿 执 行的 任 何 空 操 作 。如 果 不 指 定 n, 则 使 用 由 机 器 决 定 的 默 认 设 置 。通 过 在 函 数 调 用 前 后 发 出 其 他 指 令 来 保 护 和 恢 复 寄 存 器 , 使 能将 值 分 配 到 会 被 函 数 调 用 破 坏 的 寄 存 器 中 。 仅 当 这 种 分 配 能 生成 更 好 的 代 码 时 才 进 行 这 种 分 配 。在 公 共 子 表 达 式 消 除 中 , 当 任 何 其 他 路 径 都 不 到 达 跳 转 的 目 标地 址 时 , 浏 览 跳 转 指 令 。 例 如 , 当 CSE 遇 到 一 条 带 有 else子 句 的 if 语 句 时 , 当 条 件 检 测 为 假 时 , CSE 将 跟 随 跳 转 。这 与 -fcse-follow-jumps 类 似 , 但 使 CSE 跟 随 根 据 条 件跳 过 块 的 跳 转 。 当 CSE 遇 到 一 个 没 有 else 子 句 的 简 单 if 语 句时 , -fcse-skip-blocks 使 CSE 跟 随 if 前 后 的 跳 转 。执 行 许 多 成 本 较 高 的 次 要 优 化 。将 每 个 函 数 或 数 据 项 存 放 到 输 出 文 件 中 其 自 己 的 段 。 函 数 名 或数 据 项 名 决 定 输 出 文 件 中 的 段 名 。仅 当 使 用 这 些 选 项 有 明 显 的 好 处 时 , 才 使 用 这 些 选 项 。 当 指 定这 些 选 项 时 , 汇 编 器 和 链 接 器 可 能 生 成 较 大 的 目 标 文 件 和 可 执行 文 件 , 且 速 度 较 慢 。© 2005 Microchip Technology Inc. DS51284C_CN 第 43 页

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

Saved successfully!

Ooh no, something went wrong!