JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris Studio 12.3 概述     Oracle Solaris Studio 12.3 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

Oracle Solaris Studio 12.3 概述

Oracle Solaris Studio 软件简介

Oracle Solaris Studio 的开发者工作流程

Oracle Solaris Studio IDE

Oracle Solaris Studio 编译器

C 编译器

cc 命令语法

C 文档

C++ 编译器

CC 命令语法

C++ 文档

Fortran 95 编译器

f95 命令语法

Fortran 文档

C/C++/Fortran 库

用于并行编程的 OpenMP 3.1

适合密集计算程序的 Sun 性能库

用于生成应用程序的 dmake 实用程序

用于调试应用程序的工具

命令行中的 dbx

IDE 中的 dbx

dbxtool 中的 dbx

用于验证应用程序的工具

用于检测内存错误的 Discover 工具

用于度量代码覆盖的 Uncover 工具

用于集成错误检查的代码分析器工具

用于调整应用程序性能的工具

性能分析器工具

使用收集器收集性能数据

使用性能分析器检查性能数据

使用 er_print 实用程序检查性能数据

使用线程分析器分析多线程应用程序性能

简单性能优化工具 (Simple Performance Optimization Tool, SPOT)

DLight 中的分析工具

IDE 中的分析工具

更多信息

Oracle Solaris Studio 编译器

Oracle Solaris Studio 软件包含 C、C++ 和 Fortran 编译器,这些编译器具有以下功能:

某些 Oracle Solaris Studio 编译器选项可以用来优化编译后的代码以提高速度,并最佳利用处理器指令集和功能,这些选项包括:

-On

指定由 n 所指示的优化级别,可以是从 1 到 5 的数字。优化级别越高,所创建的二进制文件的运行时性能越好。

-fast

针对可执行代码的速度选择最优的编译选项组合。在调整可执行代码以实现最佳运行时性能时,可以从有效地使用 -fast 选项开始。

-g

在二进制文件中生成更多针对使用 dbx 进行调试以及使用性能分析器进行分析的信息。使用 -g 选项进行编译时,您可以充分利用性能分析器的全部功能,如查看带注释的源代码、函数信息以及描述编译器在编译程序时执行的优化和转换的编译器注释消息。

与其他编译器相比,Oracle Solaris Studio 编译器提供的信息明显增多,更有助于您理解代码。通过优化,这些编译器插入了注释,用来描述对代码执行的转换、对并行处理的阻碍、循环迭代的操作计数等等。编译器注释可以显示在性能分析器等工具中。

C 编译器

Oracle Solaris Studio C 编译器符合 C 编程语言标准 ISO/IEC 9899:1999C 编程语言标准 ISO/IEC 9899:1990 标准。C 编译器还支持 OpenMP 3.1 共享内存并行 API。

C 编译系统由一个编译器、一个汇编程序和一个链接程序组成。cc 命令会自动调用其中每个组件,除非您使用命令行选项单独执行这些步骤。

cc 命令语法

cc 命令的语法如下:

cc [compiler-options] source-files [-llibrary]...

编译器选项附加在源文件名称前面。可以键入 cc -flags 以查看所有可能的编译器选项的简短说明。

源文件名称可以用 .c.s.S.i 来结尾。名称不以其中的一个后缀结束的文件将传递到链接编辑器中。

在源文件名称后,可以指定 -l library 选项(可选),以在链接程序的搜索库列表中添加对象库。

缺省情况下,链接编辑器生成名为 a.out 的动态链接可执行文件。可以使用 -o filename 选项指定其他可执行文件名称。可以使用 -c 选项编译源文件并生成目标 (.o) 文件,但隐藏链接。

编译名为 test.c 的源文件并生成名为 a.out 的可执行文件:

% cc test.c

编译源文件 test1.ctest2.c,并将这两个文件链接到称为 test 的可执行文件中:

% cc -o test test1.c test2.c

分别编译这两个源文件并将它们链接到一个可执行文件中:

% cc -c test1.c
% cc -c test2.c
% cc test1.o test2.o

C 文档

有关使用 C 编译器以及 cc 命令及其选项的完整信息,请参见《Oracle Solaris Studio 12.3:C 用户指南》cc (1) 手册页。有关新功能和已更改功能、软件更正、问题和解决方法以及编译器的限制和不兼容性的信息,请参见《Oracle Solaris Studio 12.3 发行版的新增功能》

C++ 编译器

Oracle Solaris Studio C++ 编译器 (CC) 支持 C++ ISO 国际标准 ISO IS 14822:2003 编程语言 — C++CC 编译器还支持 OpenMP 3.1 共享内存并行 API。OpenMP 3.1 API 随 Oracle Solaris Studio 12.3 提供。

C++ 编译器由前端、优化器、代码生成器、汇编程序、模板预链接程序和链接编辑器组成。CC 命令会自动调用其中每个组件,除非使用命令行选项进行其他指定。

CC 命令语法

CC 命令的语法如下:

CC [compiler-options] source-files [-llibrary]...

编译器选项附加在源文件名称前面。可以键入 CC -flags 以查看所有可能的 CC 编译器选项的简短说明。

源文件名称可以用 .c.C.cc.cxx.c++.cpp .i 来结尾。名称不以其中的一个后缀结束的文件将视为目标文件或库,并移交给链接编辑器。

在源文件名称后,可以指定 -l library 选项(可选),以在链接程序的搜索库列表中添加对象库。

缺省情况下,将按照指定的顺序来编译和链接文件,以生成名为 a.out 的输出文件。可以使用 -o filename 选项指定其他可执行文件名称。可以使用 -c 选项编译源文件并生成目标 (.o) 文件,但隐藏链接。

编译名为 test.C 的源文件并生成名为 a.out 的可执行文件:

% CC test.c

分别编译两个源文件 test1.ctest2.C,然后将它们链接到称为 test 的可执行文件中:

% CC -c test1.c
% CC -c test2.C
% CC -o test test1.o test2.o

C++ 文档

有关使用 C++ 编译器以及 CC 命令及其选项的完整信息,请参见《Oracle Solaris Studio 12.3:C++ 用户指南》CC(1) 手册页。有关新功能和已更改功能、软件更正、问题和解决方法以及编译器的限制和不兼容性的信息,请参见《Oracle Solaris Studio 12.3 发行版的新增功能》

Fortran 95 编译器

Oracle Solaris Studio 中的 Fortran 编译器已针对多处理器系统上的 Oracle Solaris 进行了优化。该编译器既可以执行自动循环并行,也可以执行显式循环并行,从而使程序能够在多处理器系统上高效运行。

Fortran 编译器与 Fortran77、Fortran90 和 Fortran95 标准兼容,并支持 OpenMP 3.1。

f95 命令调用 Oracle Solaris Studio Fortran 编译器。

f95 命令语法

f95 命令的语法如下:

f95 [compiler-options] source-files... [-llibrary]

编译器选项附加在源文件名称前面。可以键入 f95 -flags 以查看所有可能的编译器选项的简短说明。

源文件名称必须是以 .f.F.f90.f95.F90.F95.for 结尾的一个或多个 Fortran 源文件的名称。

在源文件名称后,可以指定 -l library 选项(可选),以在链接程序的搜索库列表中添加对象库。

以下是通过两个源文件编译 Fortran 程序的示例命令:

% f95 -o hello_1 foo.f bar.f

使用单独的编译和链接步骤编译相同的程序:

% f95 -c -o bar.o bar.f
% f95 -c -o foo.o foo.f
% f95 -o hello_1 bar.o foo.o  

编译同一个程序并链接到名为 libexample 的库中:

% f95 -o hello_1 foo.f bar.f -lexample

Fortran 文档

有关使用 Fortran 95 编译器以及 f95 命令及其选项的说明的完整信息,请参见《Oracle Solaris Studio 12.3:Fortran 用户指南》f95(1) 手册页。有关新功能和已更改功能、软件更正、问题和解决方法以及编译器的限制和不兼容性的信息,请参见《Oracle Solaris Studio 12.3 发行版的新增功能》