2.3 指令部分对 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 ] … ) ] ,… 第一列中的注释指示符可以是 c、C、! 或 *。(在这些示例中使用的是 C。f95 自由格式必须使用 !。) |
|
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。 |
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 选项,缺省情况下启用该选项。编译时使用 —xprefetch=no 可以禁用预取指令。目标体系结构也必须支持预取指令,而且编译器优化级别必须设置为大于 —xO2。) |
ASSUME 指令 |
C$PRAGMA [BEGIN} ASSUME (expression [,probability]) C$PRAGMA END ASSUME 断言编译器可假定程序中某些点处的条件为真。 |