12.07.2015 Views

RealView 编译工具编译器参考指南 - ARM Information Center

RealView 编译工具编译器参考指南 - ARM Information Center

RealView 编译工具编译器参考指南 - ARM Information Center

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.

编 译 器 特 有 的 功 能另 请 参 阅• 第 2-119 页 的 --thumb• 第 4-70 页 的 #pragma thumb• 《 开 发 指 南 》 中 的 第 6 章 处 理 处 理 器 异 常 。4.1.11 __packed__packed 限 定 符 将 所 有 有 效 类 型 的 对 齐 边 界 设 置 为 1。 这 就 意 味 着 :• 不 会 插 入 填 充 以 对 齐 压 缩 对 象• 使 用 未 对 齐 的 访 问 读 取 或 写 入 压 缩 类 型 的 对 象 。使 用 __packed 限 定 符 声 明 结 构 或 联 合 后 ,__packed 将 应 用 于 该 结 构 或 联 合 的 所 有成 员 。 成 员 之 间 或 结 构 末 尾 均 没 有 填 充 。 必 须 使 用 __packed 声 明 压 缩 结 构 的 所有 子 结 构 。 可 以 单 独 压 缩 非 压 缩 结 构 的 整 型 子 字 段 。用 法若 要 将 结 构 映 射 到 外 部 数 据 结 构 或 访 问 未 对 齐 数 据 , __packed 限 定 符 非 常 有 用; 但 由 于 访 问 开 销 相 对 较 高 , 通 常 对 节 省 数 据 大 小 并 没 有 什 么 帮 助 。 通 过 仅 对需 要 压 缩 的 结 构 中 的 字 段 进 行 压 缩 , 可 以 减 少 未 对 齐 访 问 的 数 量 。注 意在 硬 件 中 不 支 持 未 对 齐 访 问 的 <strong>ARM</strong> 处 理 器 ( 例 如 , <strong>ARM</strong>v6 之 前 的 处 理 器 )上 , 访 问 未 对 齐 的 数 据 时 可 能 会 在 代 码 大 小 和 执 行 速 度 方 面 产 生 较 高 的 成 本 。必 须 最 大 限 度 减 少 通 过 压 缩 结 构 进 行 的 数 据 访 问 , 以 避 免 增 加 代 码 大 小 和 降 低性 能 。限 制以 下 限 制 适 用 于 使 用 __packed 的 场 合 :• __packed 限 定 符 不 能 用 于 以 前 未 使 用 __packed 声 明 的 结 构 。• 与 其 他 类 型 限 定 符 不 同 , 不 能 同 时 具 有 同 一 结 构 类 型 的 __packed 版 本 和 非__packed 版 本 。• __packed 限 定 符 不 影 响 整 型 局 部 变 量 。• 压 缩 结 构 或 联 合 与 相 应 的 非 压 缩 结 构 的 分 配 不 兼 容 。 由 于 这 些 结 构 具 有 不同 的 内 存 布 局 , 因 此 , 将 压 缩 结 构 分 配 给 非 压 缩 结 构 的 唯 一 办 法 是 逐 个 字段 进 行 复 制 。<strong>ARM</strong> DUI 0348BC Copyright © 2007-2009 <strong>ARM</strong> Limited. All rights reserved. 4-11ID090708Non-Confidential, Unrestricted Access

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

Saved successfully!

Ooh no, something went wrong!