MPLAB® C30 C 编译器用户指南

MPLAB® C30 C 编译器用户指南 MPLAB® C30 C 编译器用户指南

ie.ksu.edu.tw
from ie.ksu.edu.tw More from this publisher
10.07.2015 Views

MPLAB ® C30 用 户 指 南注 :DS51284C_CN 第 112 页© 2005 Microchip Technology Inc.

附 录 B MPLAB C30 C 编 译 器 诊 断MPLAB ® C30用 户 指 南B.1 简 介本 附 录 列 出 了 MPLAB C30 编 译 器 产 生 的 最 常 见 的 诊 断 消 息 。MPLAB C30 编 译 器 能 产 生 两 种 诊 断 消 息 : 错 误 和 警 告 , 每 种 消 息 有 不 同 的 作 用 :• 如 果 产 生 错 误 , 说 明 程 序 不 能 通 过 编 译 。 在 MPLAB C30 编 译 器 报 告 的 错 误 中 , 包含 出 错 的 源 文 件 名 和 行 号 。• 如 果 产 生 警 告 , 虽 然 这 时 编 译 能 够 通 过 , 但 说 明 在 代 码 中 还 存 在 一 些 不 规 范 的 用法 , 可 能 有 问 题 。 警 告 也 会 指 出 源 文 件 名 和 行 号 , 但 每 条 消 息 中 含 有“warning:” 文 本 , 这 样 就 可 以 与 错 误 区 分 开 来 。警 告 指 出 了 程 序 中 可 能 存 在 问 题 的 地 方 , 在 这 些 地 方 应 该 确 认 程 序 是 否 真 正 表 达 了 您的 意 图 ; 或 者 确 认 是 否 存 在 无 效 的 用 法 ; 或 者 确 认 是 否 存 在 MPLAB C30 C 中 不 规 范的 用 法 。 只 要 选 择 了 -W 选 项 中 的 一 种 , 就 会 出 现 许 多 您 所 需 要 的 警 告 ( 比 如 ,-Wall 选 项 就 要 求 多 种 有 用 的 消 息 )。在 极 少 数 情 况 下 , 编 译 器 可 能 发 出 内 部 错 误 消 息 报 告 。 这 表 示 编 译 器 本 身 检 测 到 一 些错 误 , 应 将 错 误 报 告 给 Microchip 的 技 术 支 持 , 具 体 联 系 方 式 在 本 手 册 的 相 应 章 节 可 以找 到 。B.2 错 误符 号\x used with no following HEX digits转 义 序 列 \x 后 应 该 跟 十 六 进 制 数 字 。‘&’ constraint used with no register classasm 语 句 无 效 。‘%’ constraint used with last operandasm 语 句 无 效 。#elif after #else在 预 处 理 器 条 件 编 译 中 , #else 子 句 必 须 出 现 在 任 何 #elif 子 句 之 后 。#elif without #if在 预 处 理 器 条 件 编 译 中 , 必 须 在 使 用 #elif 之 前 使 用 #if。#else after #else在 预 处 理 器 条 件 编 译 中 , #else 子 句 必 须 仅 出 现 一 次 。#else without #if在 预 处 理 器 条 件 编 译 中 , 必 须 在 使 用 #else 之 前 使 用 #if。© 2005 Microchip Technology Inc. DS51284C_CN 第 113 页

附 录 B MPLAB <strong>C30</strong> C 编 译 器 诊 断MPLAB ® <strong>C30</strong>用 户 指 南B.1 简 介本 附 录 列 出 了 MPLAB <strong>C30</strong> 编 译 器 产 生 的 最 常 见 的 诊 断 消 息 。MPLAB <strong>C30</strong> 编 译 器 能 产 生 两 种 诊 断 消 息 : 错 误 和 警 告 , 每 种 消 息 有 不 同 的 作 用 :• 如 果 产 生 错 误 , 说 明 程 序 不 能 通 过 编 译 。 在 MPLAB <strong>C30</strong> 编 译 器 报 告 的 错 误 中 , 包含 出 错 的 源 文 件 名 和 行 号 。• 如 果 产 生 警 告 , 虽 然 这 时 编 译 能 够 通 过 , 但 说 明 在 代 码 中 还 存 在 一 些 不 规 范 的 用法 , 可 能 有 问 题 。 警 告 也 会 指 出 源 文 件 名 和 行 号 , 但 每 条 消 息 中 含 有“warning:” 文 本 , 这 样 就 可 以 与 错 误 区 分 开 来 。警 告 指 出 了 程 序 中 可 能 存 在 问 题 的 地 方 , 在 这 些 地 方 应 该 确 认 程 序 是 否 真 正 表 达 了 您的 意 图 ; 或 者 确 认 是 否 存 在 无 效 的 用 法 ; 或 者 确 认 是 否 存 在 MPLAB <strong>C30</strong> C 中 不 规 范的 用 法 。 只 要 选 择 了 -W 选 项 中 的 一 种 , 就 会 出 现 许 多 您 所 需 要 的 警 告 ( 比 如 ,-Wall 选 项 就 要 求 多 种 有 用 的 消 息 )。在 极 少 数 情 况 下 , 编 译 器 可 能 发 出 内 部 错 误 消 息 报 告 。 这 表 示 编 译 器 本 身 检 测 到 一 些错 误 , 应 将 错 误 报 告 给 Microchip 的 技 术 支 持 , 具 体 联 系 方 式 在 本 手 册 的 相 应 章 节 可 以找 到 。B.2 错 误符 号\x used with no following HEX digits转 义 序 列 \x 后 应 该 跟 十 六 进 制 数 字 。‘&’ constraint used with no register classasm 语 句 无 效 。‘%’ constraint used with last operandasm 语 句 无 效 。#elif after #else在 预 处 理 器 条 件 编 译 中 , #else 子 句 必 须 出 现 在 任 何 #elif 子 句 之 后 。#elif without #if在 预 处 理 器 条 件 编 译 中 , 必 须 在 使 用 #elif 之 前 使 用 #if。#else after #else在 预 处 理 器 条 件 编 译 中 , #else 子 句 必 须 仅 出 现 一 次 。#else without #if在 预 处 理 器 条 件 编 译 中 , 必 须 在 使 用 #else 之 前 使 用 #if。© 2005 Microchip Technology Inc. DS51284C_CN 第 113 页

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

Saved successfully!

Ooh no, something went wrong!