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> C 编 译 器表 3-5: -WALL 隐 含 的 警 告 / 错 误 选 项 ( 续 )-Wswitch每 当 switch 语 句 中 有 一 个 枚 举 类 型 的 索 引 , 并 且 这 个 枚 举的 一 个 或 多 个 指 定 码 缺 少 case 时 发 出 警 告 。( 默 认 标 号 的 存在 禁 止 这 个 警 告 。) 当 使 用 这 个 选 项 时 , 枚 举 范 围 之 外 的case 标 号 也 会 引 起 警 告 。-Wsystem-headers 打 印 关 于 系 统 头 文 件 中 语 法 结 构 的 警 告 消 息 。 系 统 头 文 件 的警 告 通 常 是 被 禁 止 的 , 因 为 通 常 认 为 它 们 不 会 有 真 正 的 问 题 ,只 会 使 编 译 器 的 输 出 可 读 性 更 差 。 使 用 这 个 命 令 行 选 项 告 知MPLAB <strong>C30</strong> 发 出 关 于 系 统 头 文 件 的 警 告 , 就 像 在 用 户 代 码 中一 样 。 但 是 , 注 意 将 -Wall 与 该 选 项 一 起 使 用 时 不 会 对 系 统头 文 件 中 的 未 知 pragma 伪 指 令 发 出 警 告 , 这 时 , 必 须 同 时 使用 -Wunknown-pragmas。-Wtrigraphs 遇 到 三 字 母 组 合 时 发 出 警 告 ( 假 定 使 能 了 三 字 母 组 合 )。-Wuninitialized 使 用 自 动 变 量 而 没 有 先 对 其 初 始 化 时 发 出 警 告 。这 些 警 告 只 有 在 允 许 优 化 时 才 出 现 , 因 为 它 们 需 要 只 有 优 化时 才 计 算 的 数 据 流 信 息 。仅 当 将 变 量 分 配 给 寄 存 器 时 才 产 生 这 些 警 告 。 因 此 , 对 于 声明 为 volatile 的 变 量 , 或 是 变 量 地 址 被 占 用 , 或 者 大 小 不是 1, 2, 4 和 8 字 节 的 变 量 不 会 产 生 这 些 警 告 。 同 样 对 于 结构 、 联 合 或 数 组 , 即 使 它 们 在 寄 存 器 中 , 也 不 会 产 生 这 些 警告 。注 意 , 当 一 个 变 量 只 是 用 于 计 算 一 个 值 而 变 量 本 身 不 会 被 使用 时 , 也 不 会 产 生 警 告 , 因 为 在 警 告 被 打 印 前 , 这 样 的 计 算就 会 被 数 据 流 分 析 删 除 。-Wunknown-pragmas-Wunused选 项-Wunused-function-Wunused-label定 义当 遇 到 一 个 MPLAB <strong>C30</strong> 无 法 理 解 的 #pragma 伪 指 令 时 发 出警 告 。 如 果 使 用 这 个 选 项 , 甚 至 对 系 统 头 文 件 中 的 未 知pragma 伪 指 令 也 会 发 出 警 告 。 如 果 警 告 只 能 通 过 命 令 行 选 项-Wall 来 使 能 , 情 况 就 不 是 这 样 了 。每 当 变 量 除 了 其 声 明 外 未 被 使 用 过 时 , 每 当 函 数 声 明 为 static但 从 未 定 义 时 , 每 当 声 明 了 标 号 但 未 使 用 时 , 每 当 一 条 语 句的 计 算 结 果 未 被 显 式 使 用 时 , 发 出 警 告 。 要 获 得 未 使 用 的 函数 参 数 的 警 告 , 必 须 同 时 指 定 -W 和 -Wunused。强 制 转 换 表 达 式 类 型 可 以 避 免 禁 止 对 表 达 式 的 这 种 警 告 。 同样 地 , unused 属 性 可 以 禁 止 对 未 使 用 的 变 量 、 参 数 和 标 号 的警 告 。每 当 声 明 了 static 函 数 但 没 有 定 义 函 数 时 , 或 一 个 非 内 联static 函 数 未 使 用 时 , 发 出 警 告 。声 明 了 一 个 标 号 但 未 使 用 时 发 出 警 告 。 要 禁 止 这 种 警 告 , 可以 使 用 unused 属 性 ( 参 见 第 2.3.1 节 “ 指 定 变 量 的 属性 ”)。© 2005 Microchip Technology Inc. DS51284C_CN 第 37 页

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

Saved successfully!

Ooh no, something went wrong!