Sun Studio 12:Fortran 用户指南

D.1 通用 Fortran 指令

1.9 命令行帮助描述了 f95 可接受的通用指令。

表 D–1 通用 Fortran 指令摘要

格式

C$PRAGMA keyword ( a [ , a ] … ) [ , keyword ( a [ , a ] … ) ] ,…

C$PRAGMA SUN keyword ( a [ , a ] … ) [ , keyword ( a [ , a ] … ) ] ,…

C$PRAGMA SPARC keyword ( a [ , a ] … ) [ , keyword ( a [ , a ] … ) ] ,…

第一列中的注释指示符可以是 cC!*。(在这些示例中使用的是 Cf95 自由格式必须使用 !。)

C 指令

C$PRAGMA C(list)

将一系列外部函数的名称声明为 C 语言例程。 

IGNORE_TKR 指令

C$PRAGMA IGNORE_TKR {name {, name} ...}

在解析特定调用时,编译器会忽略在通用过程接口中出现的指定哑元名称的类型、种类和等级。 

UNROLL 指令

C$PRAGMA SUN UNROLL=n

建议编译器将下面的循环解开为指定的长度 n

WEAK 指令

C$PRAGMA WEAK(name[=name2])

name 声明为弱符号,或者声明为 name2 的别名。

OPT 指令

C$PRAGMA SUN OPT=n

将子程序的优化级别设置为 n

NOMEMDEP 指令

C$PRAGMA SUN NOMEMDEP

断言下面的循环中没有内存依赖性。 

(要求使用 -parallel-explicitpar。)

PIPELOOP 指令

C$PRAGMA SUN PIPELOOP=n

断言循环中在间隔为 n 的迭代之间存在依赖性。

PREFETCH 指令

C$PRAGMA SUN_PREFETCH_READ_ONCE (name)

C$PRAGMA SUN_PREFETCH_READ_MANY (name)

C$PRAGMA SUN_PREFETCH_WRITE_ONCE (name)

C$PRAGMA SUN_PREFETCH_WRITE_MANY (name)

请求编译器为名称引用生成预取指令。(要求使用 -xprefetch 选项。)

ASSUME 指令

C$PRAGMA [BEGIN} ASSUME (expression [,probability])

C$PRAGMA END ASSUME

断言编译器可假定程序中某些点处的条件为真。