Sun Studio 12 Update 1:Fortran 用户指南

4.8 指令

编译器指令指示编译器执行某些特殊的操作。指令又称 pragma

可以将编译器指令作为一个或多个文本行插入到源程序中。每一行看起来就像注释一样,但其中包含的其他字符可将其标识为不仅仅是该编译器的注释。对于大多数其他编译器,它被处理为注释,因此具有一定的代码移植性。

表 C–1 提供了 Fortran 指令的完整摘要。

4.8.1 特殊 f95 指令行的格式

除了1.9 命令行帮助中介绍的指令外,f95 还可识别其自己的特殊指令。这些指令使用以下语法:


!DIR$ d1, d2, …

4.8.1.1 固定格式源代码

4.8.1.2 自由格式源代码

因此,第 1 至第 5 列中的 !DIR$ 既用于自由格式源代码又用于固定格式源代码。

4.8.2 FIXEDFREE 指令

这些指令指定指令行后面行的源代码格式。

4.8.2.1 作用域

它们适用于所在文件的其余部分,或者在遇到下一个 FREEFIXED 指令之前的部分。

4.8.2.2 用法

4.8.2.3 限制

FREE/FIXED 指令:

示例: 一个 FREE 指令。


!DIR$ FREE
    DO i = 1, n
        a(i) = b(i) * c(i)
    END DO

4.8.3 并行化指令

并行化指令是一种特殊的注释,它指示编译器尝试并行处理下一个 DO 循环。附录 D 中对这些指令进行概述,《Fortran 编程指南》中有关并行化的一章介绍了这些指令。Sun 和 Cray 样式并行化指令现已过时,应首选使用 OpenMP Fortran API 指令和并行化模型。《OpenMP API 用户指南》中介绍了 OpenMP 并行化。