关于本文档

XL C/C++ Advanced Edition 是一个基于标准的、进行优化的命令行编译器,用于在 PowerPC(R) 体系结构上运行的 Linux 操作系统。该编译器是一个专业编程工具,用于以扩展 C 和 C++ 编程语言创建和维护 32 位和 64 位应用程序。

本文档向您介绍 XL C/C++ 编译器。它描述了各种编译器调用以及定制编译环境和控制编译过程的方法。本文档包含编译器可以执行的转换类型的描述、输入和输出的可接受的文件类型、编译器选项的分类总结和用于移植现有应用程序的注意事项。本文档还简要介绍了如何优化应用程序的性能。编译器的优化能力使您能够利用 PowerPC 处理器的多层体系结构的方法。

Linux 和 AIX(R) 是互补的操作系统。如果您熟悉 IBM C for AIX 或 VisualAge(R) C++ Professional for AIX,您的 makefile 几乎可以直接在 Linux 平台上使用。如果您不熟悉 IBM C 和 C++ 编译器,本文档可以帮助您在编译、链接和运行时提高性能。

本文档假定您熟悉 C 和 C++ 编程语言、Linux 操作系统和 bash shell。


突出显示约定

粗体
标识命令、关键字和系统预定义了其名称的其它项。

斜体
标识其实际名称或值由程序员提供的参数。斜体还用于首次提及的新术语。

示例
标识特定数据值的示例、与可能看到的显示内容相似的文本的示例以及程序代码的某些部分、来自系统的消息或您实际应输入的信息的示例。

示例用于进行教学,并不尝试最大程度地减少运行时间、节约存储空间或检查错误。这些示例并不示范可能使用的所有语言构造。某些示例只是代码片段,如果不加上其它的代码,编译将不能进行。


如何阅读语法图

以下语法图示例显示了 #pragma comment 伪指令的语法。有关 #pragma 伪指令的信息,请参阅 XL C/C++ Language Reference


(1) (2)  (3)  (4)       (5)       (6)                             (9)   (10)
 >>-#--pragma--comment--(-------compiler---------------------------)-><
                          |                                     |
                          +-----date----------------------------+
                          |                                     |
                          +-----timestamp-----------------------+
                          |                                     |
                          +--+--copyright--+--+-----------------+
                             |             |  |                 |
                             +--user-------+  +--,-"characters"-+
 
                                                (7)     (8)

(1) 这是语法图的开始。

(2) 符号 # 必须首先出现。

(3) 关键字 pragma 必须跟在 # 符号之后。

(4) 编译指示的名称 comment 必须跟在关键字 pragma 之后。

(5) 左圆括号必须存在。

(6) 输入的注释类型必须仅为以下所指示的类型之一:compilerdatetimestampcopyrightuser

(7) 逗号必须出现在注释类型 copyrightuser 与可选字符串之间。

(8) 字符串必须跟在逗号之后。必须用双引号将字符串括起。

(9) 需要右圆括号。

(10) 这是语法图的结束。

按照以上显示的图表,#pragma comment 伪指令的下列示例在语法上是正确的:

   #pragma comment(date)
   #pragma comment(user)
   #pragma comment(copyright,"This text will appear in the module")
 
IBM Copyright 2003