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

3.  Fortran 编译器选项

4.  Solaris Studio Fortran 的功能与扩展

4.1 源语言功能

4.1.1 续行限制

4.1.2 固定格式源代码行

4.1.3 制表符格式

4.1.4 采用的源代码格式

4.1.4.1 混合格式

4.1.4.2 大小写

4.1.5 限制和缺省值

4.2 数据类型

4.2.1 布尔类型

4.2.1.1 控制布尔类型的各种规则

4.2.1.2 布尔常量的替代格式

八进制

十六进制

霍尔瑞斯

4.2.1.3 布尔常量的替代上下文

4.2.2 数值数据类型的缩写大小表示法

4.2.3 数据类型的大小和对齐

4.3 Cray 指针

4.3.1 语法

4.3.2 Cray 指针的用途

4.3.3 声明 Cray 指针和 Fortran 95 指针

4.3.4 Cray 指针的功能

4.3.5 Cray 指针的限制

4.3.6 Cray 指针对象的限制

4.3.7 Cray 指针的用法

4.4 STRUCTUREUNION (VAX Fortran)

4.5 无符号整数

4.5.1 算术表达式

4.5.2 关系表达式

4.5.3 控制构造

4.5.4 输入/输出构造

4.5.5 内部函数

4.6 Fortran 200x 功能

4.6.1 与 C 之间的互操作性

4.6.2 IEEE 浮点异常处理

4.6.3 命令行参数内部函数

4.6.4 PROTECTED 属性

4.6.5 Fortran 2003 异步 I/O

4.6.6 扩展的 ALLOCATABLE 属性

4.6.7 VALUE 属性

4.6.8 Fortran 2003 流 I/O

4.6.9 Fortran 2003 IMPORT 语句

4.6.10 Fortran 2003 FLUSH I/O 语句

4.6.11 Fortran 2003 POINTER INTENT 功能

4.6.12 Fortran 2003 中增强的数组构造函数

4.6.13 面向对象的 Fortran 支持

4.6.14 其他 Fortran 2003 和 Fortran 2008 功能

4.7 其他的 I/O 扩展

4.7.1 I/O 错误处理例程

4.7.2 变量格式表达式

4.7.3 NAMELIST 输入格式

4.7.4 二进制未格式化 I/O

4.7.5 各种 I/O 扩展

4.8 指令

4.8.1 特殊 f95 指令行的格式

4.8.1.1 固定格式源代码

4.8.1.2 自由格式源代码

4.8.2 FIXEDFREE 指令

4.8.2.1 作用域

4.8.2.2 用法

4.8.2.3 限制

4.8.3 并行化指令

4.9 模块文件

4.9.1 搜索模块

4.9.2 -use=list 选项标志

4.9.3 fdumpmod 命令

4.10 内部函数

4.11 向前兼容性

4.12 混合语言

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

A.  运行时错误消息

B.  功能发行版历史记录

C.  Fortran 指令摘要

索引

4.1 源语言功能

f95 编译器提供标准 Fortran 的以下源语言功能和扩展

4.1.1 续行限制

f95 允许 999 个续行(1 个初始行和 999 个续行)。对于固定格式,标准 Fortran 95 允许 19 个续行;对于自由格式,允许 39 个续行。

4.1.2 固定格式源代码行

在固定格式源代码中,行的长度可以超过 72 个字符,但忽略第 73 列以后的任何内容。标准 Fortran 95 仅允许 72 个字符长的行。

4.1.3 制表符格式

f95 固定格式源代码文本的定义如下:

对于固定格式,f95 的缺省最大行长度是 72 列;对于自由格式,则为 132 列。使用 -e 编译器选项,可将固定格式源代码中的行扩展到 132 列。

示例: 左侧的制表符格式源代码的处理方式如右侧所示。

!^IUses of tabs
^ICHARACTER *3 A = ’A’
^IINTEGER B = 2
^IREAL C = 3.0
^IWRITE(*,9) A, B, C
9^IFORMAT(1X, A3,
^I1 I3,
^I2 F9.1 )
^IEND
!       Uses of tabs
        CHARACTER *3 A = ’A’
        INTEGER B = 2
        REAL C = 3.0
        WRITE(*,9) A, B, C
9       FORMAT(1X, A3,
       1 I3,
       2 F9.1 )
        END

在以上示例中,"^I" 代表制表符,以 "1" 和 "2" 开头的行是续行。显示此代码的目的在于说明各种制表符情形,而不是提倡任一样式。

f95 中的制表符会强制填充剩余的行直到第 72 列。如果制表符出现在持续到下一行的字符串中,则可能会引发意外结果:

源文件:

^Iprint *, "Tab on next line
^I1this  continuation line starts with a tab."
^Iend

运行代码:

Tab on next line                                             this  continuation
 line starts with a tab.

将制表符格式与 —f77 选项结合使用时,行的长度将不受 132 个字符限制。行的长度可以更长。

4.1.4 采用的源代码格式

f95 采用的源代码格式取决于选项、指令和后缀。

具有 .f.F 后缀的文件采用固定格式。带 .f90.f95.F90.F95 后缀的文件假定采用自由格式。

表 4-1 F95 源代码格式命令行选项

选项
操作
-fixed
将所有源文件解释为 Fortran 固定格式
-free
将所有源文件解释为 Fortran 自由格式

如果使用 -free-fixed 选项,则它覆盖文件名后缀。如果使用 !DIR$ FREE!DIR$ FIXED 指令,则它覆盖选项和文件名后缀。

4.1.4.1 混合格式

允许混合使用某些源代码格式。

4.1.4.2 大小写

缺省情况下,Solaris Studio Fortran 95 不区分大小写。这意味着,变量 AbcDeF 的处理方式与将其拼写为 abcdef 时相同。要让编译器区别处理大写字母和小写字母,请使用 -U 选项进行编译。

4.1.5 限制和缺省值