ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris Studio 12.3: Fortran ユーザーズガイド Oracle Solaris Studio 12.3 Information Library (日本語) |
4. Solaris Studio Fortran の機能および拡張機能
4.3.3 Cray ポインタと Fortran 95 のポインタ
4.4 STRUCTURE および UNION (VAX Fortran)
4.6.10 Fortran 2003 の FLUSH 入出力文
4.6.11 Fortran 2003 POINTER INTENT 機能
4.6.14 その他の Fortran 2003 および Fortran 2008 機能
コンパイラ指令は、特別な動作をするようにコンパイラに指示します。「プラグマ」とも呼ばれます。
コンパイラ指令は 1 行または複数行のテキストとしてソースプログラムに挿入されます。コンパイラ指令は一見注釈に似ていますが、注釈にはない特別な文字が付加されています。Fortran 95 以外のほとんどのコンパイラでは指令を注釈として扱うので、コードの一定の移植性は保たれます。
すべての Fortran 指令についての概要は、付録 C Fortran 指令の要約を参照してください。
f95 は、「1.8 コマンド行ヘルプ」で説明した指令に加え、独自の特別な指令を認識します。これらの指令は、次のような構文になります。
!DIR$ d1, d2, …
指令を 7 桁目以降に記述します。
73 桁目以降は無視されます。
最初の指令行の 6 桁目は空白です。
継続指令行の 6 桁目は空白以外の文字です。
!DIR$ のあとに空白を 1 つ付けて、行の任意の位置に記述できます。
!DIR$ 文字は、その行の空白でない最初の文字となります。
指令は空白のあとに記述します。
新たに始まる指令行では、!DIR$ の直後に空白、タブ、または改行が続きます。
指令の継続行では、!DIR$ の直後に空白、タブ、改行以外の文字が続きます。
これらのことから、!DIR$ を 1 桁目から 5 桁目に記述しておけば、自由形式または固定形式のどちらのソースでも機能することがわかります。
指令行のあとに続くソース行の書式を指定します。
指令が適用される範囲は、ファイル内に指令が出現してから最後までの部分、または次に FREE あるいは FIXED が出現するまでの部分です。
1 つのソースファイル内でソースの書式を切り換えることができます。
INCLUDE ファイルのソースの書式を切り換えることができます。INCLUDE ファイルの先頭に指令を挿入します。INCLUDE ファイルが処理されたあとに、ソースの書式が INCLUDE ファイルの処理前の書式に戻ります。
FREE 指令と FIXED 指令には次の制限事項があります。
どちらの指令もコンパイラの指令行に単独で指定します (継続行にしないでください)。
どちらの指令もソースコードの任意の位置に指定できます。その他の指令は作用するプログラム中に指定する必要があります。
例: FREE 指令を指定します。
!DIR$ FREE DO i = 1, n a(i) = b(i) * c(i) END DO
並列化の指令は、コンパイラに次の DO ループの並列化処理を指示する特別な注釈です。これらに関する概要は、付録 D と『Fortran プログラミングガイド』に記載されています。Sun および Cray 形式の並列化指令は、非推奨になり、廃止されました。OpenMP の Fortran API 指令および並列化モデルを使用してください。OpenMP 指令の並列化については、『OpenMP API ユーザーズガイド』を参照してください。