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

文档信息

前言

1.  简介

2.  使用 Solaris Studio Fortran

2.1 快速入门

2.2 调用编译器

2.2.1 编译和链接序列

2.2.2 命令行文件命名约定

2.2.3 源文件

2.2.4 源文件预处理程序

2.2.5 分别编译和链接

2.2.6 一致编译和链接

2.2.7 无法识别的命令行参数

2.2.8 模块

2.3 指令

2.3.1 通用指令

2.3.1.1 C 指令

2.3.1.2 IGNORE_TKR 指令

2.3.1.3 UNROLL 指令

2.3.1.4 WEAK 指令

2.3.1.5 OPT 指令

2.3.1.6 PIPELOOP[= n] 指令

2.3.1.7 PREFETCH 指令

2.3.1.8 ASSUME 指令

2.3.2 并行化指令

2.3.2.1 OpenMP 并行化指令

2.3.2.2 传统的 Sun/Cray 并行化指令

2.3.3 IVDEP 指令

2.4 库接口和 system.inc

2.5 编译器用法提示

2.5.1 确定硬件平台

2.5.2 使用环境变量

2.5.3 内存大小

2.5.3.1 交换空间限制

2.5.3.2 增大交换空间

2.5.3.3 虚拟内存的控制

2.6 用户提供的缺省选项文件

3.  Fortran 编译器选项

4.  Solaris Studio Fortran 的功能与扩展

5.  FORTRAN 77 兼容性:迁移到 Solaris Studio Fortran

A.  运行时错误消息

B.  功能发行版历史记录

C.  Fortran 指令摘要

索引

2.4 库接口和 system.inc

Fortran 编译器提供一个 include 文件 system.inc,它为大多数非内在库例程定义了接口。请声明此 include 文件以确保所调用函数及其参数的类型得到正确的设置,尤其是在使用 -xtypemap 更改了缺省数据类型时。

例如,以下命令可能会生成一个运算异常,原因是没有显式地设置函数 getpid() 的类型:

        integer(4) mypid
        mypid = getpid()
        print *, mypid

getpid() 例程返回一个整数值,但如果没有为该函数声明显式类型,则编译器认为它返回一个实数值。此值将进一步转换为整数,这很有可能会导致浮点错误。

要纠正这种错误,您应该显式地设置所调用的 getuid() 及类似函数的类型:

        integer(4) mypid, getpid
        mypid = getpid()
        print *, mypid

您可以使用 -Xlist(全局程序检查)选项诊断此类问题。Fortran include 文件 'system.inc' 为这些例程提供了显式接口定义。

        include ’system.inc’
        integer(4) mypid
        mypid = getpid()
        print *, mypid

通过在调用 Fortran 库中例程的程序单元中包含 system.inc,可以自动定义接口,并帮助编译器诊断类型不匹配的问题。(有关更多信息,请参见《Fortran 库参考》。)