12.07.2015 Views

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

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

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

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

编 译 器 特 有 的 功 能4.1.6 __global_reg__global_reg 存 储 类 说 明 符 将 声 明 的 变 量 分 配 给 全 局 变 量 寄 存 器 。语 法__global_reg(n) type varName其 中 :n 是 1 到 8 之 间 的 整 数 。type 是 以 下 类 型 之 一 :• 除 long long 之 外 的 任 何 整 型• 任 何 字 符 类 型• 任 何 指 针 类 型 。varName 是 变 量 名 称 。限 制如 果 使 用 此 存 储 类 , 则 无 法 使 用 任 何 其 他 存 储 类 , 如 extern、 static 或typedef。在 C 中 , 不 能 在 声 明 时 限 定 或 初 始 化 全 局 寄 存 器 变 量 。 在 C++ 中 , 任 何 初 始 化均 被 视 为 动 态 初 始 化 。可 用 寄 存 器 的 数 量 因 所 使 用 的 AAPCS 变 体 而 异 , 有 5 到 7 个 寄 存 器 可 用 作 全 局变 量 寄 存 器 。实 际 上 , 使 用 全 局 寄 存 器 变 量 时 , 建 议 :• <strong>ARM</strong> 或 Thumb-2 中 不 要 超 过 三 个 全 局 寄 存 器 变 量• Thumb-1 中 不 要 超 过 一 个 全 局 寄 存 器 变 量• 全 局 浮 点 寄 存 器 变 量 不 要 超 过 可 用 浮 点 寄 存 器 数 量 的 一 半 。如 果 声 明 的 全 局 变 量 太 多 , 代 码 大 小 会 显 著 增 加 。 在 某 些 情 况 下 , 程 序 可 能 无法 进 行 编 译 。<strong>ARM</strong> DUI 0348BC Copyright © 2007-2009 <strong>ARM</strong> Limited. All rights reserved. 4-7ID090708Non-Confidential, Unrestricted Access

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

Saved successfully!

Ooh no, something went wrong!