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.

编 译 器 特 有 的 功 能4.5.5 __attribute__((packed))packed 变 量 属 性 指 定 变 量 或 结 构 字 段 具 有 最 小 的 可 能 对 齐 要 求 。 即 , 除 非 使 用aligned 属 性 指 定 更 大 的 值 , 否 则 , 变 量 为 一 个 字 节 , 字 段 为 一 位 。注 意此 变 量 属 性 是 <strong>ARM</strong> 编 译 器 支 持 的 GNU 编 译 器 扩 展 。示 例struct{char a;int b __attribute__ ((packed));} Variable_Attributes_packed_0;另 请 参 阅• 第 4-65 页 的 #pragma pack(n)• 第 5-10 页 的 压 缩 结 构• 《 编 译 器 用 户 指 南 》 中 第 5-25 页 的 __packed 限 定 符 和 未 对 齐 的 数 据 访 问• 《 编 译 器 用 户 指 南 》 中 第 5-27 页 的 __packed 结 构 与 单 个 __packed 字 段 。4.5.6 __attribute__((section("name")))通 常 , <strong>ARM</strong> 编 译 器 将 它 生 成 的 对 象 放 在 节 中 , 如 data 和 bss。 但 是 , 您 可 能 需要 使 用 其 他 数 据 节 , 或 者 希 望 变 量 出 现 在 特 殊 节 中 , 例 如 , 便 于 映 射 到 特 殊 硬件 。 section 属 性 指 定 变 量 必 须 放 在 特 定 数 据 节 中 。 如 果 使 用 section 属 性 , 则将 只 读 变 量 放 在 RO 数 据 节 中 , 而 将 读 写 变 量 放 在 RW 数 据 节 中 , 除 非 您 使 用zero_init 属 性 。 在 这 种 情 况 下 , 变 量 被 放 在 ZI 节 中 。注 意此 变 量 属 性 是 <strong>ARM</strong> 编 译 器 支 持 的 GNU 编 译 器 扩 展 。示 例/* in RO section */const int descriptor[3] __attribute__ ((section ("descr"))) = { 1,2,3 };/* in RW section */4-50 Copyright © 2007-2009 <strong>ARM</strong> Limited. All rights reserved. <strong>ARM</strong> DUI 0348BCNon-Confidential, Unrestricted AccessID090708

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

Saved successfully!

Ooh no, something went wrong!