Sun Studio 12:Fortran 用户指南

第 1 章 简介

本书与配套的《Fortran 编程指南》中介绍的 SunTM Studio Fortran 95 编译器 f95 可在 SPARC®、UltraSPARC® 和 x64/x86 平台上的 SolarisTM 操作环境下使用。此编译器符合发布的 Fortran 语言标准,并提供很多扩展的功能,其中包括多处理器并行化、高级的优化代码编译以及混合的 C/Fortran 语言支持。

f95 编译器还提供接受大多数传统 Fortran 77 源代码的 Fortran 77 兼容性模式。不再包含单独的 Fortran 77 编译器。有关 FORTRAN 77 兼容性和迁移问题的信息,请参见第 5 章。

1.1 标准一致性

负责标准的一方可能会不时地修订这些标准。可能会修订或替代这些编译器遵循的适用标准的版本,因而导致 Sun Fortran 编译器将来版本中的功能与先前版本不兼容。

1.2 Fortran 95 编译器的功能

Sun Studio Fortran 95 编译器提供以下功能和扩展

有关每个软件发行版的编译器中添加的新功能和扩展功能的详细信息,请参见附录 B。

1.3 其他 Fortran 实用程序

以下实用程序可为使用 Fortran 进行软件程序开发提供帮助:

1.4 调试实用程序

可以使用以下调试实用程序:

1.5 Sun 性能库

Sun 性能库TM是一个用于计算线性代数和傅立叶变换的优化子例程及函数的库。它基于一般通过 Netlib (www.netlib.org) 提供的标准库 LAPACK、BLAS1、BLAS2、BLAS3、FFTPACK、VFFTPACK 和 LINPACK。

与标准库版本相比,Sun 性能库中的每个子程序执行相同的操作并且具有相同的接口,但通常这些子程序的速度要快得多且准确得多,这些子程序可以用于多处理环境中。

有关详细信息,请参见 performance_library 自述文件和《Sun 性能库用户指南 》。(性能库例程的手册页位于第 3P 节。)

1.6 区间运算

Fortran 95 编译器提供编译器标记 -xia -xinterval 以启用新的语言扩展,并生成相应的代码以执行区间运算。有关详细信息,请参见《Fortran 95 区间运算编程指南》。(只有 SPARC/UltraSPARC 平台支持区间运算功能。)

1.7 手册页

联机手册 (man) 页提供了关于命令、函数、子例程或这些项的集合的文档。应将用户的 MANPATH 环境变量设置为安装 Sun Studio 手册的目录路径,以便访问 Sun Studio 手册页。在 Solaris 中,通常为 /opt/SUNWspro/man

可以通过运行以下命令来显示手册页:


demo% man topic

在整个 Fortran 文档中,出现的手册页参考带有主题名称和手册章节号:可使用 man f95 访问 f95(1)。例如,可在 man 命令中使用 -s 选项来访问 ieee_flags(3M) 指示的其他部分:


demo% man -s 3M ieee_flags

Fortran 库例程是在手册页第 3F 节中介绍的。

下面列出了面向 Fortran 用户的手册页:

f95(1)

Fortran 95 命令行选项 

analyzer(1)

Sun Studio 性能分析器 

asa(1)

Fortran 回车控制打印输出后处理器 

dbx(1)

命令行交互调试器 

fpp(1)

Fortran 源代码预处理器 

cpp(1)

C 源代码预处理器 

fdumpmod(1)

显示模块 (.mod) 文件的内容

fsplit(1)

预处理器将 Fortran 源例程分成单个文件 

ieee_flags(3M)

检查、设置或清除浮点异常位 

ieee_handler(3M)

处理浮点异常 

matherr(3M)

数学库错误处理例程 

ild(1)

目标文件的增量链接编辑器 

ld(1)

目标文件的链接编辑器 

1.8 自述文件

Sun Developer Network (SDN) 门户网站 (http://developers.sun.com/sunstudio/) 上的自述文件页面介绍了新增功能、软件不兼容性、错误以及手册印刷后发现的信息。这些自述文件页面是门户网站上此发行版文档的一部分,也可以从已安装软件包含的 HTML 文档索引(位于 file:/opt/SUNWspro/docs)链接到这些页面。

表 1–1 重要自述文件页面

自述文件页面 

描述...  

fortran_95

此版本 Fortran 95 编译器 f95 的新增功能、修改的功能、已知限制和文档勘误表。

fpp_readme

fpp 功能概述

interval_arithmetic

f95 中的区间运算功能概述

math_libraries

可用的优化和专用数学库。 

profiling_tools

使用性能配置工具 profgproftcov

runtime_libraries

可依照最终用户许可协议的条款重新分发的库和可执行文件。 

performance_library

Sun 性能库概述 

openmp

OpenMP 并行化 API 中的新增功能和已更改的功能 

可使用 -xhelp=readme 命令行选项来显示每个编译器自述文件页面的 URL。例如,命令:


% f95 -xhelp=readme

显示用于查看 SDN 门户网站上此发行版 fortran_95 自述文件的 URL。

1.9 命令行帮助

可通过调用编译器的 -help 选项来查看 f95 命令行选项的简短描述(如下所示):


%f95 -help=flags
Items within [ ] are optional. Items within < > are variable parameters.
Bar | indicates choice of literal values.
-someoption[={yes|no}] implies -someoption is equivalent to -someoption=yes
_______________________________________________________________
-a                 Collect data for tcov basic block profiling
-aligncommon[=<a>] Align common block elements to the specified 
                   boundary requirement; <a>={1|2|4|8|16}
-ansi              Report non-ANSI extensions.
-autopar           Enable automatic loop parallelization
-Bdynamic          Allow dynamic linking
-Bstatic           Require static linking
-C                 Enable runtime subscript range checking
-c                 Compile only; produce .o files but suppress
                   linking
...etc.