RealView编译工具3.1版编译器参考指南ARM版权所有2007ARMLimited。保留所有权利。ARMDUI0348AC
版权所有 © 2007 ARM Limited。保留所有权利。 ARM DUI 0348AC RealView® 编译工具 3.1 版 编译器参考指南
RealView编译工具编译器参考指南版权所有2007ARMLimited。保留所有权利。版本信息本手册进行了以下更改。更改历史记录日期更改发行号保密性A2007年3月非保密RVDS3.1版所有权声明带有或标记的词语和徽标是ARM公司的注册商标或商标。此处提及的其他品牌和名称可能是其各自所有者的商标。除非事先得到版权所有人的书面许可,否则不得以任何形式修改或复制本文档包含的部分或全部信息以及产品说明。本文档描述的产品还将不断发展和完善。ARM公司将如实提供本文档所述产品的所有特性及其使用方法。但是,所有暗示或明示的担保,包括但不限于对特定用途适销性或适用性的担保,均不包括在内。本文档的目的仅在于帮助读者使用产品。对由于使用本文档任何信息出现的遗漏、损坏或错误使用产品造成的任何损失,ARM公司概不负责。使用ARM一词时,它表示“ARM或其任何相应的子公司”。保密状态本文档的内容是非保密的。根据ARM与ARM将本文档交予的参与方的协议条款,使用、复制和公开本文档内容的权利可能会受到许可限制的制约。产品状态本文档的信息是开发的产品的最新信息。网址http://ww.arm.comii版权所有2007ARMLimited。保留所有权利。ARMDUI0348AC
ii 版权所有 © 2007 ARM Limited。保留所有权利。 ARM DUI 0348AC RealView 编译工具 编译器参考指南 版权所有 © 2007 ARM Limited。保留所有权利。 版本信息 本手册进行了以下更改。 所有权声明 带有 ® 或 ™ 标记的词语和徽标是 ARM 公司的注册商标或商标。此处提及的其他品牌和名称可能是 其各自所有者的商标。 除非事先得到版权所有人的书面许可,否则不得以任何形式修改或复制本文档包含的部分或全部信 息以及产品说明。 本文档描述的产品还将不断发展和完善。 ARM 公司将如实提供本文档所述产品的所有特性及其使 用方法。但是,所有暗示或明示的担保,包括但不限于对特定用途适销性或适用性的担保,均不包括 在内。 本文档的目的仅在于帮助读者使用产品。对由于使用本文档任何信息出现的遗漏、损坏或错误使用 产品造成的任何损失,ARM 公司概不负责。 使用 ARM 一词时,它表示“ARM 或其任何相应的子公司”。 保密状态 本文档的内容是非保密的。根据 ARM 与 ARM 将本文档交予的参与方的协议条款,使用、复制和公 开本文档内容的权利可能会受到许可限制的制约。 产品状态 本文档的信息是开发的产品的最新信息。 网址 http://www.arm.com 更改历史记录 日期 发行号 保密性 更改 2007 年 3 月 A 非保密 RVDS 3.1 版
目录RealView编译工具编译器参考指南前言关于本手册I反馈简介第1章1.11-2关于ARM编译器1.21-3源语言模式1-51.3语言扩展和语言遵从性1.4C和C++库1-7第2章编译器命令行选项2.1命令行选项2-2第3章语言扩展3.13-2预处理程序扩展3.23-5C90中提供的C99语言功能3.33-7C++和C90中提供的C99语言功能3.43-10标准C语言扩展3.5标准C++语言扩展3-153.63-19标准C和标准C++语言扩展3.73-25GNU语言扩展iiARMDUI0348AC版权所有2007ARMLimited。保留所有权利
ARM DUI 0348AC 版权所有 © 2007 ARM Limited。保留所有权利。 iii 目录 RealView 编译工具 编译器参考指南 前言 关于本手册 . vi 反馈 . x 第 1 章 简介 1.1 关于 ARM 编译器 . 1-2 1.2 源语言模式 . 1-3 1.3 语言扩展和语言遵从性 . 1-5 1.4 C 和 C++ 库 . 1-7 第 2 章 编译器命令行选项 2.1 命令行选项 . 2-2 第 3 章 语言扩展 3.1 预处理程序扩展 . 3-2 3.2 C90 中提供的 C99 语言功能 . 3-5 3.3 C++ 和 C90 中提供的 C99 语言功能 . 3-7 3.4 标准 C 语言扩展 . 3-10 3.5 标准 C++ 语言扩展 . 3-15 3.6 标准 C 和标准 C++ 语言扩展 . 3-19 3.7 GNU 语言扩展 . 3-25
第4章编译器特有的功能4.1关键字和运算符4-24.24-24declspec属性4.3函数属性4-294.4类型属性4-374.5变量属性4-404.64-49编译指示4.74-64指令内在函数4.84-106编译器预定义第5章C和C++实现细节5.15-2C和C++实现细节5.2C++实现细节5-13附录Avia文件语法A.1via文件概述A-2A.2语法A-3附录 B标准C实现定义B.1执行定义B-2B.2B-9被视为ISOC标准未定义的行为附录C标准C++实现定义C.1整型转换C-2.C.2C-3调用纯虚函数C.3C-4主要的语言支持特性C.4C-5标准C++库实现定义附录 DC和C++编译器实现限制D.1D-2C++ISO/IEC标准限制D.2D-4整数限制D.3浮点数限制D-5使用NEON支持附录EE.1简介E-2E.2E-3向量数据类型E.3E-4内在函数iv版权所有2007ARMLimited。保留所有权利。ARM DUI0348AC
iv 版权所有 © 2007 ARM Limited。保留所有权利。 ARM DUI 0348AC 第 4 章 编译器特有的功能 4.1 关键字和运算符 . 4-2 4.2 _declspec 属性 . 4-24 4.3 函数属性 . 4-29 4.4 类型属性 . 4-37 4.5 变量属性 . 4-40 4.6 编译指示 . 4-49 4.7 指令内在函数 . 4-64 4.8 编译器预定义 . 4-106 第 5 章 C 和 C++ 实现细节 5.1 C 和 C++ 实现细节 . 5-2 5.2 C++ 实现细节 . 5-13 附录 A via 文件语法 A.1 via 文件概述 . A-2 A.2 语法 . A-3 附录 B 标准 C 实现定义 B.1 执行定义 . B-2 B.2 被视为 ISO C 标准未定义的行为 . B-9 附录 C 标准 C++ 实现定义 C.1 整型转换 . C-2 C.2 调用纯虚函数 . C-3 C.3 主要的语言支持特性 . C-4 C.4 标准 C++ 库实现定义 . C-5 附录 D C 和 C++ 编译器实现限制 D.1 C++ ISO/IEC 标准限制 . D-2 D.2 整数限制 . D-4 D.3 浮点数限制 . D-5 附录 E 使用 NEON 支持 E.1 简介 . E-2 E.2 向量数据类型 . E-3 E.3 内在函数 . E-4
前言本前言介绍了《RealView编译工具编译器参考指南》。它包含以下几节第vi页的关于本手册.第x页的反馈.ARMDUI0348AC>版权所有2007ARMLimited。保留所有权利
ARM DUI 0348AC 版权所有 © 2007 ARM Limited。保留所有权利。 v 前言 本前言介绍了《RealView 编译工具编译器参考指南》。它包含以下几节: • 第vi 页的关于本手册 • 第x 页的反馈