MPLAB® C30 C ç¼è¯å¨ç¨æ·æå
MPLAB® C30 C ç¼è¯å¨ç¨æ·æå MPLAB® C30 C ç¼è¯å¨ç¨æ·æå
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 页
- Page 67 and 68: MPLAB C30 C 编 译 器 运 行 时
- Page 69 and 70: MPLAB C30 C 编 译 器 运 行 时
- Page 71 and 72: MPLAB C30 C 编 译 器 运 行 时
- Page 73 and 74: MPLAB C30 C 编 译 器 运 行 时
- Page 75 and 76: MPLAB C30 C 编 译 器 运 行 时
- Page 77 and 78: MPLAB C30 C 编 译 器 运 行 时
- Page 79 and 80: MPLAB C30 C 编 译 器 运 行 时
- Page 81 and 82: MPLAB C30 C 编 译 器 运 行 时
- Page 83 and 84: MPLAB ® C30用 户 指 南第 5
- Page 85 and 86: MPLAB ® C30用 户 指 南第 6
- Page 87 and 88: 器 件 支 持 文 件6.5 使 用
- Page 89 and 90: 器 件 支 持 文 件6.6 使 用
- Page 91 and 92: 器 件 支 持 文 件6.7.2 使
- Page 93 and 94: MPLAB ® C30用 户 指 南第 7
- Page 95 and 96: 中 断7.3.3 为 中 断 服 务
- Page 97 and 98: 中 断表 7-1: 中 断 向 量 (
- Page 99 and 100: 中 断7.6 中 断 响 应 时 间7
- Page 101 and 102: 第 8 章 汇 编 语 言 和 C 模
- Page 103 and 104: 汇 编 语 言 和 C 模 块 混
- Page 105 and 106: 汇 编 语 言 和 C 模 块 混
- Page 107 and 108: MPLAB ® C30用 户 指 南附 录
- Page 109 and 110: 实 现 定 义 的 操 作A.4 标
- Page 111 and 112: 实 现 定 义 的 操 作下 表
- Page 113 and 114: 实 现 定 义 的 操 作A.14 预
- Page 115 and 116: 实 现 定 义 的 操 作A.16 信
- Page 117: 实 现 定 义 的 操 作A.23 GET
- Page 121 and 122: MPLAB C30 C 编 译 器 诊 断ambi
- Page 123 and 124: MPLAB C30 C 编 译 器 诊 断cast
- Page 125 and 126: MPLAB C30 C 编 译 器 诊 断F‘
- Page 127 and 128: MPLAB C30 C 编 译 器 诊 断init
- Page 129 and 130: MPLAB C30 C 编 译 器 诊 断inva
- Page 131 and 132: MPLAB C30 C 编 译 器 诊 断Nneg
- Page 133 and 134: MPLAB C30 C 编 译 器 诊 断Rred
- Page 135 and 136: MPLAB C30 C 编 译 器 诊 断symb
- Page 137 and 138: MPLAB C30 C 编 译 器 诊 断void
- Page 139 and 140: MPLAB C30 C 编 译 器 诊 断anon
- Page 141 and 142: MPLAB C30 C 编 译 器 诊 断comp
- Page 143 and 144: MPLAB C30 C 编 译 器 诊 断dupl
- Page 145 and 146: MPLAB C30 C 编 译 器 诊 断func
- Page 147 and 148: MPLAB C30 C 编 译 器 诊 断‘i
- Page 149 and 150: MPLAB C30 C 编 译 器 诊 断libr
- Page 151 and 152: MPLAB C30 C 编 译 器 诊 断Ppar
- Page 153 and 154: MPLAB C30 C 编 译 器 诊 断shif
- Page 155 and 156: MPLAB C30 C 编 译 器 诊 断too
- Page 157 and 158: MPLAB C30 C 编 译 器 诊 断V__V
- Page 159 and 160: MPLAB ® C30用 户 指 南附 录
- Page 161 and 162: MPLAB C18 与 MPLAB C30 C 编 译
- Page 163 and 164: MPLAB C18 与 MPLAB C30 C 编 译
- Page 165 and 166: MPLAB C18 与 MPLAB C30 C 编 译
- Page 167 and 168: MPLAB ® C30用 户 指 南附 录
附 录 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 页