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 ブール型定数の代替書式

8 進

16 進

ホレリス

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 STRUCTURE および UNION (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 非同期入出力

4.6.6 ALLOCATABLE 属性の拡張機能

4.6.7 VALUE 属性

4.6.8 Fortran 2003 ストリーム入出力

4.6.9 Fortran 2003 の IMPORT

4.6.10 Fortran 2003 の FLUSH 入出力文

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 新しい入出力拡張機能

4.7.1 入出力エラー処理ルーチン

4.7.2 可変フォーマット式

4.7.3 NAMELIST 入力形式

4.7.4 書式なしバイナリ入出力

4.7.5 その他の入出力拡張機能

4.8 指令

4.8.1 f95 の特殊な指令行の書式

4.8.1.1 ソースが固定形式の場合

4.8.1.2 ソースが自由形式の場合

4.8.2 FIXED 指令と FREE 指令

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.9 モジュールファイル

Fortran 95 の MODULE を含むファイルをコンパイルすると、ソースで検出された MODULE ごとにモジュールインタフェースファイル (.mod ファイル) が生成されます。ファイル名は MODULE 名を基に付けられます。たとえば、MODULE xyz からは xyz.mod (すべて小文字) というファイル名が作成されます。

コンパイルを実行すると、MODULE 文を含むソースファイルごとにモジュール実装オブジェクトファイル (.o) が生成されます。モジュール実装オブジェクトファイルとその他すべてのオブジェクトファイルをリンクすると、実行可能ファイルを作成できます。

コンパイラは、-moddir=dir フラグまたは MODDIR 環境変数で指定されたディレクトリにモジュールインタフェースファイルと実装オブジェクトファイルを作成します。指定されていない場合は、現在の作業ディレクトリにある .mod ファイル に書き込みます。

コンパイラは、USE modulename 文のコンパイル時、現在の作業ディレクトリでインタフェースファイルを探します。-Mpath オプションを使用すると、コンパイラに追加の検索パスを提供できます。モジュール実装オブジェクトファイルは、リンク処理のコマンド行に明示的に列挙する必要があります。

通常、プログラマは、ファイルごとに単一の MODULE を定義し、MODULE 文とそれを含むソースファイルに同じ名前を割り当てます。ただし、これは必須ではありません。

前述の例では、すべてのファイルが一度にコンパイルされます。モジュールソースファイルは、主プログラムでの使用前に最初にコンパイルされます。

demo% cat mod_one.f90
 MODULE one
    ...
 END MODULE
demo% cat mod_two.f90
 MODULE two
    ...
 END MODULE
demo% cat main.f90
 USE one
 USE two
   ...
 END
demo% f95 -o main mod_one.f90 mod_two.f90 main.f90

コンパイルによって次のファイルが作成されます。

mainmain.oone.modmod_one.otwo.modmod_two.o

次の例では、各単位を個別にコンパイルし、それらをリンクします。

demo% f95 -c mod_one.f90 mod_two.f90
demo% f95 -c main.f90
demo% f95 -o main main.o mod_one.o mod_two.o

main.f90 のコンパイル時、コンパイラは、現在のディレクトリから one.mod および two.mod を検索します。これらのファイルは、USE 文のモジュールを参照するファイルをコンパイルする前にコンパイルしておく必要があります。そのあとの手順で、モジュール実装オブジェクトファイル mod_one.o および mod_two.o をその他すべてのオブジェクトファイルとリンクして、実行可能ファイルを作成します。

4.9.1 モジュールの検索

Version 7.0 の Fortran コンパイラでは、.mod ファイルはアーカイブ (.a) ファイルに格納できます。アーカイブファイルは、モジュールを検索するコマンド行で、-Mpath フラグによって明示的に指定する必要があります。デフォルトでは、コンパイラはアーカイブファイルを検索しません。

USE 文にある .mod ファイルのみが検索されます。たとえば、Fortran の USE mymod によって、コンパイラは、デフォルトでモジュールファイル mymod.mod を検索します。

検索時には、モジュールファイルが記述されるディレクトリが優先されます。これは、-moddir=dir オプションフラグおよび MODDIR 環境変数によってコントロールできます。つまり、-Mpath オプションのみが指定されている場合は、モジュールに対して、-M フラグに示されたディレクトリおよびファイルよりも先に、現在のディレクトリが検索されます。

4.9.2 -use=list オプションフラグ

-use=list フラグによって、1 つ以上の暗黙的な USE 文がこのフラグを指定してコンパイルされる副プログラムまたはモジュールの副プログラムに挿入されます。このフラグを使用すると、モジュールまたはモジュールファイルが、ライブラリまたはアプリケーションの機能のために要求された場合に、ソースプログラムを修正する必要がなくなります。

-use=module_name を使用してコンパイルすると、USE module_name をコンパイルされる各副プログラムまたはモジュールに追加する効果があります。-use=module_file_name を使用してコンパイルすると、module_file_name ファイルに含まれる各モジュールに USE module_name を追加する効果があります。

4.9.3 fdumpmod コマンド

fdumpmod(1) コマンドを使用すると、モジュール情報ファイルの内容を表示できます。

demo% fdumpmod x.mod group.mod
x 1.0 v8,i4,r4,d8,n16,a4 x.mod
group 1.0 v8,i4,r4,d8,n16,a4 group.mod

fdumpmod コマンドによって、単一の .mod ファイル、連結される .mod ファイルによって形成されるファイル、.mod ファイルの .a アーカイブにあるモジュールについての情報が表示されます。表示には、モジュール名、バージョン番号、対象のアーキテクチャー、およびそのモジュールと互換性のあるコンパイルオプションを示すフラグが含まれます。詳細は、fdumpmod(1) マニュアルページを参照してください。