语 言 扩 展3.3 C++ 和 C90 中 提 供 的 C99 语 言 功 能编 译 器 支 持 多 种 ISO C++ 标 准 和 C90 语 言 扩 展 , 例 如 , 覆 盖 旧 式 非 原 型 定 义 的函 数 原 型 。如 果 以 下 条 件 成 立 , 则 可 以 使 用 这 些 扩 展 :• 源 语 言 是 C++, 并 且 在 非 strict 模 式 下 进 行 编 译• 源 语 言 是 C90, 并 且 在 非 strict 模 式 下 进 行 编 译 。如 果 以 下 条 件 成 立 , 则 无 法 使 用 这 些 扩 展 :• 源 语 言 是 C++, 并 且 使 用 --strict 编 译 器 选 项 将 编 译 器 限 制 为 编 译 严 格C90。• 源 语 言 是 C90, 并 且 使 用 --strict 编 译 器 选 项 将 编 译 器 限 制 为 编 译 严 格 标准 C。注 意标 准 C 的 语 言 功 能 ( 如 long long 整 数 ) 可 能 与 本 节 中 介 绍 的 语 言 扩 展 类 似 。 如果 使 用 --strict 编 译 器 选 项 编 译 严 格 标 准 C++ 或 严 格 C90, 则 可 以 继 续 使 用 这些 功 能 。3.3.1 可 变 参 数 宏在 C90 和 C++ 中 , 可 以 将 宏 声 明 为 接 受 可 变 数 量 的 自 变 量 。C90 和 C++ 中 用 于 声 明 可 变 参 数 宏 的 语 法 遵 循 用 于 声 明 可 变 参 数 宏 的 C99 语法 , 除 非 选 择 了 --gnu 选 项 。 如 果 指 定 了 --gnu 选 项 , 则 该 语 法 遵 循 可 变 参 数 宏的 GNU 语 法 。示 例#define debug(format, ...) fprintf (stderr, format, __VA_ARGS__)void variadic_macros(void){debug ("a test string is printed out along with %x %x %x\n", 12, 14, 20);}另 请 参 阅• 第 2-66 页 的 --gnu• 《 编 译 器 用 户 指 南 》 中 第 5-43 页 的 C99 的 新 功 能 。3-6 Copyright © 2007-2009 <strong>ARM</strong> Limited. All rights reserved. <strong>ARM</strong> DUI 0348BCNon-Confidential, Unrestricted AccessID090708
语 言 扩 展3.3.2 long long<strong>ARM</strong> 编 译 器 通 过 类 型 说 明 符 long long 和 unsigned long long 支 持 64 位 整 型 。 就通 常 的 算 术 转 换 而 言 , 它 们 的 行 为 类 似 于 long 和 unsigned long。__int64 是 longlong 的 同 义 词 。整 型 常 数 可 以 具 有 :• ll 后 缀 , 用 于 将 常 数 类 型 转 换 为 long long ( 如 果 合 适 ), 或 者 转 换 为unsigned long long ( 如 果 不 合 适 )• ull 或 llu 后 缀 , 用 于 将 常 数 的 类 型 转 换 为 unsigned long long。printf() 和 scanf() 的 格 式 说 明 符 可 以 包 含 ll, 以 指 定 随 后 的 转 换 应 用 于 longlong 自 变 量 , 如 在 %lld 或 %llu 中 。同 样 , 如 果 普 通 整 型 常 数 的 值 足 够 大 , 则 该 常 数 的 类 型 为 long long 或 unsignedlong long。 编 译 器 将 生 成 一 条 警 告 消 息 以 指 示 这 一 变 化 。 例 如 , 在 严 格 1990ISO 标 准 C 中 , 2147483648 的 类 型 为 unsigned long。 在 <strong>ARM</strong> C 和 C++ 中 , 其类 型 为 long long。 这 种 情 况 产 生 的 一 个 后 果 可 以 在 表 达 式 值 中 体 现 出 来 , 例如 :2147483648 > – 1在 严 格 C 和 C++ 中 , 该 表 达 式 的 计 算 结 果 为 0; 而 在 <strong>ARM</strong> C 和 C++ 中 , 该 表达 式 的 计 算 结 果 为 1。long long 类 型 适 用 于 通 常 的 算 术 转 换 。另 请 参 阅• 第 4-9 页 的 __int643.3.3 restrictrestrict 关 键 字 是 一 种 C99 功 能 , 用 于 确 保 不 同 的 对 象 指 针 类 型 和 函 数 参 数 数组 不 会 指 向 重 叠 的 内 存 区 域 。 因 此 , 编 译 器 可 以 执 行 优 化 , 而 不 会 由 于 可 能 的混 淆 而 将 优 化 禁 止 。限 制要 在 C90 或 C++ 中 启 用 restrict 关 键 字 , 必 须 指 定 --restrict 选 项 。支 持 将 __restrict 和 __restrict__ 关 键 字 作 为 restrict 的 同 义 词 , 无 论 是 否 指 定了 --restrict, 始 终 可 以 使 用 这 些 关 键 字 。<strong>ARM</strong> DUI 0348BC Copyright © 2007-2009 <strong>ARM</strong> Limited. All rights reserved. 3-7ID090708Non-Confidential, Unrestricted Access
- Page 1 and 2:
®RealView编 译 工 具4.0 版编
- Page 3 and 4:
目 录RealView 编 译 工 具编
- Page 5 and 6:
前 言本 前 言 介 绍 了 《R
- Page 7 and 8:
前 言附 录 B 标 准 C 实 现
- Page 9 and 10:
前 言其 他 出 版 物以 下
- Page 11 and 12:
第 1 章简 介本 章 介 绍 随
- Page 13 and 14:
简 介1.2 源 语 言 模 式ARM
- Page 15 and 16:
简 介1.3 语 言 扩 展 和 语
- Page 17 and 18:
简 介1.4 C 和 C++ 库RVCT 提
- Page 19 and 20:
第 2 章编 译 器 命 令 行
- Page 21 and 22:
编 译 器 命 令 行 选 项2.1.
- Page 23 and 24:
编 译 器 命 令 行 选 项/fpi
- Page 25 and 26:
编 译 器 命 令 行 选 项/rwp
- Page 27 and 28:
编 译 器 命 令 行 选 项从
- Page 29 and 30:
编 译 器 命 令 行 选 项•
- Page 31 and 32:
编 译 器 命 令 行 选 项2.1.
- Page 33 and 34:
编 译 器 命 令 行 选 项另
- Page 35 and 36:
编 译 器 命 令 行 选 项另
- Page 37 and 38:
编 译 器 命 令 行 选 项2.1.
- Page 39 and 40:
编 译 器 命 令 行 选 项示
- Page 41 and 42:
编 译 器 命 令 行 选 项缺
- Page 43 and 44:
编 译 器 命 令 行 选 项•
- Page 45 and 46:
编 译 器 命 令 行 选 项2.1.
- Page 47 and 48:
编 译 器 命 令 行 选 项•
- Page 49 and 50:
编 译 器 命 令 行 选 项如
- Page 51 and 52:
编 译 器 命 令 行 选 项•
- Page 53 and 54:
编 译 器 命 令 行 选 项2.1.
- Page 55 and 56:
编 译 器 命 令 行 选 项另
- Page 57 and 58:
编 译 器 命 令 行 选 项另
- Page 59 and 60:
编 译 器 命 令 行 选 项示
- Page 61 and 62:
编 译 器 命 令 行 选 项2.1.
- Page 63 and 64:
编 译 器 命 令 行 选 项2.1.
- Page 65 and 66:
编 译 器 命 令 行 选 项其
- Page 67 and 68:
编 译 器 命 令 行 选 项用
- Page 69 and 70:
编 译 器 命 令 行 选 项2.1.
- Page 71 and 72:
编 译 器 命 令 行 选 项语
- Page 73 and 74:
编 译 器 命 令 行 选 项用
- Page 75 and 76:
编 译 器 命 令 行 选 项•
- Page 77 and 78:
编 译 器 命 令 行 选 项2.1.
- Page 79 and 80:
编 译 器 命 令 行 选 项•
- Page 81 and 82:
编 译 器 命 令 行 选 项soft
- Page 83 and 84:
编 译 器 命 令 行 选 项声
- Page 85 and 86:
编 译 器 命 令 行 选 项2.1.
- Page 87 and 88:
编 译 器 命 令 行 选 项2.1.
- Page 89 and 90:
编 译 器 命 令 行 选 项2.1.
- Page 91 and 92:
编 译 器 命 令 行 选 项2.1.
- Page 93 and 94:
编 译 器 命 令 行 选 项2.1.
- Page 95 and 96:
编 译 器 命 令 行 选 项另
- Page 97 and 98:
编 译 器 命 令 行 选 项示
- Page 99 and 100:
编 译 器 命 令 行 选 项用
- Page 101 and 102:
编 译 器 命 令 行 选 项•
- Page 103 and 104:
编 译 器 命 令 行 选 项2.1.
- Page 105 and 106:
编 译 器 命 令 行 选 项如
- Page 107 and 108: 编 译 器 命 令 行 选 项另
- Page 109 and 110: 编 译 器 命 令 行 选 项缺
- Page 111 and 112: 编 译 器 命 令 行 选 项语
- Page 113 and 114: 编 译 器 命 令 行 选 项此
- Page 115 and 116: 编 译 器 命 令 行 选 项2.1.
- Page 117 and 118: 编 译 器 命 令 行 选 项另
- Page 119 and 120: 编 译 器 命 令 行 选 项2.1.
- Page 121 and 122: 编 译 器 命 令 行 选 项注
- Page 123 and 124: 编 译 器 命 令 行 选 项另
- Page 125 and 126: 编 译 器 命 令 行 选 项模
- Page 127 and 128: 编 译 器 命 令 行 选 项另
- Page 129 and 130: 编 译 器 命 令 行 选 项2.1.
- Page 131 and 132: 编 译 器 命 令 行 选 项2.1.
- Page 133 and 134: 编 译 器 命 令 行 选 项—
- Page 135 and 136: 编 译 器 命 令 行 选 项示
- Page 137 and 138: 编 译 器 命 令 行 选 项2.1.
- Page 139 and 140: 编 译 器 命 令 行 选 项2.1.
- Page 141 and 142: 编 译 器 命 令 行 选 项另
- Page 143 and 144: 编 译 器 命 令 行 选 项2.1.
- Page 145 and 146: 编 译 器 命 令 行 选 项错
- Page 147 and 148: 编 译 器 命 令 行 选 项缺
- Page 149 and 150: 编 译 器 命 令 行 选 项另
- Page 151 and 152: 编 译 器 命 令 行 选 项2.1.
- Page 153 and 154: 第 3 章语 言 扩 展本 章 介
- Page 155 and 156: 语 言 扩 展注 意此 预 处
- Page 157: 语 言 扩 展{}return Subscriptin
- Page 161 and 162: 语 言 扩 展3.4 标 准 C 语
- Page 163 and 164: 语 言 扩 展• 可 以 分 配
- Page 165 and 166: 语 言 扩 展3.4.7 外 部 实
- Page 167 and 168: 语 言 扩 展示 例class B;class
- Page 169 and 170: 语 言 扩 展3.5.6 非 成 员
- Page 171 and 172: 语 言 扩 展3.6.3 匿 名 类
- Page 173 and 174: 语 言 扩 展int Incomplete_Enums
- Page 175 and 176: 语 言 扩 展3.7 GNU 语 言 扩
- Page 177 and 178: 语 言 扩 展}u = (foo_t) b ; //
- Page 179 and 180: 语 言 扩 展• 可 以 使 用
- Page 181 and 182: 语 言 扩 展模 式仅 在 C90
- Page 183 and 184: 第 4 章编 译 器 特 有 的
- Page 185 and 186: 编 译 器 特 有 的 功 能用
- Page 187 and 188: 编 译 器 特 有 的 功 能__AL
- Page 189 and 190: 编 译 器 特 有 的 功 能4.1.
- Page 191 and 192: 编 译 器 特 有 的 功 能示
- Page 193 and 194: 编 译 器 特 有 的 功 能另
- Page 195 and 196: 编 译 器 特 有 的 功 能} Y;
- Page 197 and 198: 编 译 器 特 有 的 功 能语
- Page 199 and 200: 编 译 器 特 有 的 功 能示
- Page 201 and 202: 编 译 器 特 有 的 功 能其
- Page 203 and 204: 编 译 器 特 有 的 功 能4.1.
- Page 205 and 206: 编 译 器 特 有 的 功 能4.1.
- Page 207 and 208: 编 译 器 特 有 的 功 能如
- Page 209 and 210:
编 译 器 特 有 的 功 能示
- Page 211 and 212:
编 译 器 特 有 的 功 能{}S
- Page 213 and 214:
编 译 器 特 有 的 功 能4.3
- Page 215 and 216:
编 译 器 特 有 的 功 能4.3.
- Page 217 and 218:
编 译 器 特 有 的 功 能4.3.
- Page 219 and 220:
编 译 器 特 有 的 功 能另
- Page 221 and 222:
编 译 器 特 有 的 功 能4.3.
- Page 223 and 224:
编 译 器 特 有 的 功 能另
- Page 225 and 226:
编 译 器 特 有 的 功 能void
- Page 227 and 228:
编 译 器 特 有 的 功 能使
- Page 229 and 230:
编 译 器 特 有 的 功 能4.5.
- Page 231 and 232:
编 译 器 特 有 的 功 能4.5.
- Page 233 and 234:
编 译 器 特 有 的 功 能long
- Page 235 and 236:
编 译 器 特 有 的 功 能注
- Page 237 and 238:
编 译 器 特 有 的 功 能4.6
- Page 239 and 240:
编 译 器 特 有 的 功 能有
- Page 241 and 242:
编 译 器 特 有 的 功 能•
- Page 243 and 244:
编 译 器 特 有 的 功 能4.6.
- Page 245 and 246:
编 译 器 特 有 的 功 能micr
- Page 247 and 248:
编 译 器 特 有 的 功 能4.6.
- Page 249 and 250:
编 译 器 特 有 的 功 能4.6.
- Page 251 and 252:
编 译 器 特 有 的 功 能}{}f
- Page 253 and 254:
编 译 器 特 有 的 功 能4.7
- Page 255 and 256:
编 译 器 特 有 的 功 能opco
- Page 257 and 258:
编 译 器 特 有 的 功 能另
- Page 259 and 260:
编 译 器 特 有 的 功 能4.7.
- Page 261 and 262:
编 译 器 特 有 的 功 能4.7.
- Page 263 and 264:
编 译 器 特 有 的 功 能其
- Page 265 and 266:
编 译 器 特 有 的 功 能LDRB
- Page 267 and 268:
编 译 器 特 有 的 功 能另
- Page 269 and 270:
编 译 器 特 有 的 功 能4.7.
- Page 271 and 272:
编 译 器 特 有 的 功 能4.7.
- Page 273 and 274:
编 译 器 特 有 的 功 能另
- Page 275 and 276:
编 译 器 特 有 的 功 能另
- Page 277 and 278:
编 译 器 特 有 的 功 能其
- Page 279 and 280:
编 译 器 特 有 的 功 能另
- Page 281 and 282:
编 译 器 特 有 的 功 能示
- Page 283 and 284:
编 译 器 特 有 的 功 能其
- Page 285 and 286:
编 译 器 特 有 的 功 能另
- Page 287 and 288:
编 译 器 特 有 的 功 能4.7.
- Page 289 and 290:
编 译 器 特 有 的 功 能4.7.
- Page 291 and 292:
编 译 器 特 有 的 功 能表
- Page 293 and 294:
编 译 器 特 有 的 功 能4.8
- Page 295 and 296:
编 译 器 特 有 的 功 能__bu
- Page 297 and 298:
编 译 器 特 有 的 功 能4.10
- Page 299 and 300:
编 译 器 特 有 的 功 能表
- Page 301 and 302:
编 译 器 特 有 的 功 能表
- Page 303 and 304:
编 译 器 特 有 的 功 能表
- Page 305 and 306:
第 5 章C 和 C++ 实 现 细 节
- Page 307 and 308:
C 和 C++ 实 现 细 节• 表 5-
- Page 309 and 310:
C 和 C++ 实 现 细 节整 数整
- Page 311 and 312:
C 和 C++ 实 现 细 节注 意适
- Page 313 and 314:
C 和 C++ 实 现 细 节字 段
- Page 315 and 316:
C 和 C++ 实 现 细 节struct X{i
- Page 317 and 318:
C 和 C++ 实 现 细 节5.2 C++
- Page 319 and 320:
C 和 C++ 实 现 细 节注 意可
- Page 321 and 322:
C 和 C++ 实 现 细 节与 自
- Page 323 and 324:
附 录 Avia 文 件 语 法本 附
- Page 325 and 326:
via 文 件 语 法A.2 语 法via
- Page 327 and 328:
附 录 B标 准 C 实 现 定 义
- Page 329 and 330:
标 准 C 实 现 定 义B.1.1转
- Page 331 and 332:
标 准 C 实 现 定 义>& file将
- Page 333 and 334:
标 准 C 实 现 定 义B.1.11表
- Page 335 and 336:
标 准 C 实 现 定 义B.2 被
- Page 337 and 338:
附 录 C标 准 C++ 实 现 定
- Page 339 and 340:
标 准 C++ 实 现 定 义C.2 调
- Page 341 and 342:
标 准 C++ 实 现 定 义C.4 标
- Page 343 and 344:
附 录 DC 和 C++ 编 译 器 实
- Page 345 and 346:
C 和 C++ 编 译 器 实 现 限
- Page 347 and 348:
C 和 C++ 编 译 器 实 现 限
- Page 349 and 350:
附 录 E使 用 NEON 支 持本
- Page 351 and 352:
使 用 NEON 支 持E.2 向 量 数
- Page 353 and 354:
使 用 NEON 支 持E.3.1加 法以
- Page 355 and 356:
使 用 NEON 支 持向 量 饱 和
- Page 357 and 358:
使 用 NEON 支 持int8x16_t vmlsq
- Page 359 and 360:
使 用 NEON 支 持向 量 宽 型
- Page 361 and 362:
使 用 NEON 支 持uint32x2_t vcge
- Page 363 and 364:
使 用 NEON 支 持uint16x8_t vtst
- Page 365 and 366:
使 用 NEON 支 持uint16x8_t vmin
- Page 367 and 368:
使 用 NEON 支 持int8x16_t vshlq
- Page 369 and 370:
使 用 NEON 支 持uint8x8_t vshl_
- Page 371 and 372:
使 用 NEON 支 持uint16x8_t vqsh
- Page 373 and 374:
使 用 NEON 支 持向 量 左 移
- Page 375 and 376:
使 用 NEON 支 持// VLD1.16 {d0[
- Page 377 and 378:
使 用 NEON 支 持void vst1q_u16(
- Page 379 and 380:
使 用 NEON 支 持E.3.15加 载
- Page 381 and 382:
使 用 NEON 支 持// VLD4.8 {d0,
- Page 383 and 384:
使 用 NEON 支 持// VLD1.64 {d0,
- Page 385 and 386:
使 用 NEON 支 持lane);// VLD3.8
- Page 387 and 388:
使 用 NEON 支 持// VST1.64 {d0,
- Page 389 and 390:
使 用 NEON 支 持// VST4.16 {d0,
- Page 391 and 392:
使 用 NEON 支 持// VST4.16 {d0[
- Page 393 and 394:
使 用 NEON 支 持uint16x4_t vcre
- Page 395 and 396:
使 用 NEON 支 持uint64x2_t vcom
- Page 397 and 398:
使 用 NEON 支 持向 量 饱 和
- Page 399 and 400:
使 用 NEON 支 持// VMLS.I16 q0,
- Page 401 and 402:
使 用 NEON 支 持向 量 与 标
- Page 403 and 404:
使 用 NEON 支 持int8x16_t vrev6
- Page 405 and 406:
使 用 NEON 支 持计 算 设 置
- Page 407 and 408:
使 用 NEON 支 持int16x8_t veorq
- Page 409 and 410:
使 用 NEON 支 持uint16x8x2_t vt