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 用 户 指 南表 3-2: 针 对 dsPIC 器 件 的 选 项 ( 续 )-msmall-data-msmall-scalar-mtext=name-msmart-io[=0|1|2]注选 项定 义使 用 小 数 据 模 型 编 译 。 假 定 所 有 静 态 变 量 和 外 部 变 量 位 于 数 据 存 储 空 间的 低 8KB 地 址 。( 这 是 默 认 设 置 。)与 -msmall-data 类 似 , 不 同 的 是 仅 假 定 静 态 标 量 和 外 部 标 量 位 于 数据 存 储 空 间 的 低 8KB 地 址 。( 这 是 默 认 设 置 。)指 定 -mtext=name 将 文 本 ( 程 序 代 码 ) 放 入 名 为 name 的 段 中 , 而 不是 默 认 的 .text 段 中 。 等 号 两 边 不 能 有 空 格 。该 选 项 试 图 对 传 递 给 printf 和 scanf 函 数 , 以 及 这 两 个 函 数 “f”和 “v” 形 式 的 格 式 字 符 串 进 行 静 态 分 析 。 非 浮 点 型 参 数 的 使 用 将 转 换成 使 用 仅 支 持 整 型 的 库 函 数 形 式 。 -msmart-io=0 将 禁 止 这 个 选 项 ,而 -msmart-io=2 将 使 编 译 器 转 换 带 有 变 量 或 未 知 格 式 参 数 的 函 数 调用 。 默 认 情 况 下 -msmart-io=1, 将 仅 转 换 它 能 验 证 的 立 即 数 值 。1: 过 程 抽 象 的 操 作 与 内 联 函 数 相 反 。 这 一 过 程 设 计 为 通 过 翻 译 单 元 从 多 处 抽 取 相 同 的代 码 序 列 , 并 存 放 到 一 个 公 共 代 码 区 。 尽 管 这 个 选 项 一 般 并 不 会 提 高 所 生 成 代 码 的运 行 时 性 能 , 却 可 以 显 著 减 小 代 码 长 度 。 采 用 -mpa 编 译 的 程 序 可 能 难 以 调 试 ; 在使 用 COFF 目 标 格 式 调 试 时 , 不 推 荐 使 用 这 个 选 项 。过 程 抽 象 是 生 成 汇 编 文 件 后 , 一 个 独 立 的 编 译 阶 段 。 这 个 阶 段 不 跨 翻 译 单 元 优 化 。当 使 能 过 程 优 化 阶 段 时 , 行 内 汇 编 代 码 仅 限 于 有 效 的 机 器 指 令 。 不 能 使 用 无 效 的 机器 指 令 或 指 令 序 列 , 或 汇 编 伪 指 令 ( 段 伪 指 令 、 宏 和 包 含 文 件 等 ), 否 则 过 程 抽 象阶 段 会 失 败 , 影 响 输 出 文 件 的 生 成 。DS51284C_CN 第 32 页© 2005 Microchip Technology Inc.

使 用 MPLAB C30 C 编 译 器3.5.2 控 制 输 出 类 型 的 选 项表 3-3:输 出 类 型 控 制 选 项选 项定 义-c 编 译 或 汇 编 源 文 件 , 但 不 链 接 。 默 认 的 文 件 扩 展 名 为 .o。-E 在 预 处 理 过 程 之 后 , 即 正 常 运 行 编 译 器 之 前 停 止 。 默 认 输 出 文 件 为stdout。-o file 将 输 出 放 在 file 中 。-S 在 正 常 编 译 之 后 , 即 调 用 汇 编 器 之 前 停 止 。 默 认 输 出 文 件 扩 展 名 为.s。-v 在 编 译 的 每 个 阶 段 打 印 执 行 的 命 令 。-x 可 用 -x 选 项 显 式 地 指 定 输 入 语 言 :-x language为 后 面 的 输 入 文 件 显 式 地 指 定 语 言 ( 而 不 是 让 编 译 器 根 据 文 件 名 后 缀选 择 默 认 的 语 言 )。 这 个 选 项 适 用 于 其 后 直 到 下 一 个 -x 选 项 之 前 的 所有 输 入 文 件 。 MPLAB C30 支 持 下 面 的 值 :c c-header cpp-outputassembler assembler-with-cpp-x none关 闭 所 有 语 言 指 定 , 随 后 的 文 件 按 其 文 件 名 后 缀 处 理 。 如 果 已 使 用 另 一个 -x 选 项 , 这 是 默 认 但 必 需 的 。 例 如 :pic30-gcc -x assembler foo.asm bar.asm -x nonemain.c mabonga.s没 有 -x none 时 , 编 译 器 将 假 定 所 有 输 入 文 件 都 为 汇 编 语 言 。--help 打 印 命 令 行 选 项 的 描 述 。© 2005 Microchip Technology Inc. DS51284C_CN 第 33 页

MPLAB ® <strong>C30</strong> 用 户 指 南表 3-2: 针 对 dsPIC 器 件 的 选 项 ( 续 )-msmall-data-msmall-scalar-mtext=name-msmart-io[=0|1|2]注选 项定 义使 用 小 数 据 模 型 编 译 。 假 定 所 有 静 态 变 量 和 外 部 变 量 位 于 数 据 存 储 空 间的 低 8KB 地 址 。( 这 是 默 认 设 置 。)与 -msmall-data 类 似 , 不 同 的 是 仅 假 定 静 态 标 量 和 外 部 标 量 位 于 数据 存 储 空 间 的 低 8KB 地 址 。( 这 是 默 认 设 置 。)指 定 -mtext=name 将 文 本 ( 程 序 代 码 ) 放 入 名 为 name 的 段 中 , 而 不是 默 认 的 .text 段 中 。 等 号 两 边 不 能 有 空 格 。该 选 项 试 图 对 传 递 给 printf 和 scanf 函 数 , 以 及 这 两 个 函 数 “f”和 “v” 形 式 的 格 式 字 符 串 进 行 静 态 分 析 。 非 浮 点 型 参 数 的 使 用 将 转 换成 使 用 仅 支 持 整 型 的 库 函 数 形 式 。 -msmart-io=0 将 禁 止 这 个 选 项 ,而 -msmart-io=2 将 使 编 译 器 转 换 带 有 变 量 或 未 知 格 式 参 数 的 函 数 调用 。 默 认 情 况 下 -msmart-io=1, 将 仅 转 换 它 能 验 证 的 立 即 数 值 。1: 过 程 抽 象 的 操 作 与 内 联 函 数 相 反 。 这 一 过 程 设 计 为 通 过 翻 译 单 元 从 多 处 抽 取 相 同 的代 码 序 列 , 并 存 放 到 一 个 公 共 代 码 区 。 尽 管 这 个 选 项 一 般 并 不 会 提 高 所 生 成 代 码 的运 行 时 性 能 , 却 可 以 显 著 减 小 代 码 长 度 。 采 用 -mpa 编 译 的 程 序 可 能 难 以 调 试 ; 在使 用 COFF 目 标 格 式 调 试 时 , 不 推 荐 使 用 这 个 选 项 。过 程 抽 象 是 生 成 汇 编 文 件 后 , 一 个 独 立 的 编 译 阶 段 。 这 个 阶 段 不 跨 翻 译 单 元 优 化 。当 使 能 过 程 优 化 阶 段 时 , 行 内 汇 编 代 码 仅 限 于 有 效 的 机 器 指 令 。 不 能 使 用 无 效 的 机器 指 令 或 指 令 序 列 , 或 汇 编 伪 指 令 ( 段 伪 指 令 、 宏 和 包 含 文 件 等 ), 否 则 过 程 抽 象阶 段 会 失 败 , 影 响 输 出 文 件 的 生 成 。DS51284C_CN 第 32 页© 2005 Microchip Technology Inc.

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

Saved successfully!

Ooh no, something went wrong!