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-11: 预 处 理 器 选 项 ( 续 )选 项定 义-M 告 知 预 处 理 器 输 出 适 合 于 描 述 每 个 目 标 文 件 的 相 关 性 的 make的 规 则 。 对 于 每 个 源 文 件 , 预 处 理 器 输 出 目 标 为 该 源 文 件 目 标文 件 名 且 其 相 关 性 为 它 使 用 的 所 有 #include 头 文 件 的 make规 则 。 这 个 规 则 可 以 为 单 行 的 或 者 太 长 时 可 用 \ 换 行 符 来 继 续 。规 则 列 表 打 印 在 标 准 输 出 中 , 而 不 是 打 印 在 预 处 理 的 C 程 序中 。-M 隐 含 -E ( 参 见 第 3.5.2 节 “ 控 制 输 出 类 型 的 选 项 ”)。-MD与 -M 类 似 , 但 将 相 关 性 信 息 写 到 一 个 文 件 , 编 译 继 续 进 行 。 包含 相 关 性 信 息 的 文 件 的 名 字 与 带 .d 扩 展 名 的 源 文 件 名 字 相 同 。-MF file当 与 -M 或 -MM 一 起 使 用 时 , 指 定 向 其 中 写 入 相 关 性 信 息 的 文件 。 如 果 不 给 定 -MF 开 关 , 预 处 理 器 将 发 送 规 则 到 微 处 理 器 输出 发 送 到 的 地 方 。当 与 驱 动 程 序 选 项 -MD 或 -MMD 一 起 使 用 时 ,-MF 覆 盖 默 认 的相 关 性 输 出 文 件 。-MG将 缺 少 的 头 文 件 视 为 生 成 的 文 件 , 并 假 定 它 们 位 于 源 文 件 所 在的 目 录 中 。 如 果 指 定 了 -MG, 那 么 必 须 也 指 定 -M 或 -MM。-MD 或 -MMD 不 支 持 -MG。-MM类 似 于 -M, 但 输 出 仅 涉 及 到 用 #include “file" 包 含 的 用 户头 文 件 。 用 #include 包 含 的 系 统 头 文 件 被 忽 略 。-MMD 类 似 于 -MD, 但 仅 涉 及 到 用 户 头 文 件 , 不 涉 及 到 系 统 头 文 件 。-MP这 个 选 项 指 示 CPP 除 主 文 件 外 , 还 要 为 每 个 相 关 性 添 加 假 目标 , 使 每 个 不 依 赖 于 任 何 其 他 。 如 果 删 除 头 文 件 时 不 更 新Makefile 来 匹 配 , 这 些 假 规 则 将 避 开 make 发 出 的 错 误 。下 面 是 典 型 的 输 出 :test.o: test.c test.htest.h:-MQ 与 -MT 相 同 , 但 它 将 特 定 于 Make 的 任 何 字 符 用 引 号 括 起 来 。-MQ '$(objpfx)foo.o' 给 出 $$(objpfx)foo.o:foo.c默 认 的 目 标 自 动 被 引 号 括 起 来 , 就 像 指 定 了 -MQ 一 样 。-MT target改 变 相 关 性 生 成 发 出 的 规 则 的 目 标 。 默 认 情 况 下 , CPP 采 用 主输 入 文 件 的 名 字 , 包 含 任 何 路 径 , 删 除 任 何 文 件 后 缀 ( 如.c), 并 添 加 平 台 的 通 常 目 标 后 缀 。 结 果 就 是 目 标 。-MT 选 项 将 目 标 设 置 为 你 指 定 的 字 符 串 。 如 果 需 要 多 个 目 标 , 可件 它 们 指 定 为 -MT 的 一 个 参 数 , 或 使 用 多 个 -MT 选 项 。例 如 :-MT '$(objpfx)foo.o' 可 能 得 到 $(objpfx)foo.o:foo.c© 2005 Microchip Technology Inc. DS51284C_CN 第 49 页

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

Saved successfully!

Ooh no, something went wrong!