G95 の主な機能 • 無料の Fortran 95 準拠コンパイラ。
• 現在 (2008 年 10 月) の g95 バージョンは 0.92 です。
• GNU オープン ソース、GPL ライセンス。
• コンパイルされたプログラムの動作は、環境変数の大きなリストによって変更できます。
コンパイルされたプログラム自体。
• TR15581 – 割り当て可能な仮引数、構造型コンポーネント。
• F2003 スタイルのプロシージャ ポインタ、構造コンストラクタ、相互運用性
• F2003 組み込み手続きおよびモジュール。
• サブルーチン内の VALUE 型の仮引数は、値で渡されます。
• 小数点を示すための OPEN、READ、および WRITE のカンマ オプション。
• 角括弧 [ および ] は、配列コンストラクターに使用できます。
• ホスト有効範囲単位のエンティティーへのアクセスを可能にするためにインターフェース本体で使用される IMPORT ステートメント。
• 文字型および数値型の MIN() および MAX()。
• 「トランスペアレント」またはストリーム I/O の場合は OPEN。
• g77 の Application Binary Interface (ABI) との下位互換性。
• 利用可能な 32 ビットまたは 64 ビットのデフォルト整数。
• SYSTEM() コマンドを呼び出します。
• タブ付きソースが許可されています。
• $ オプション付きのシンボリック名。
• ホレリス データ。
• DOUBLE COMPLEX 拡張機能。
• 名前付き COMMON の可変長。
• COMMON と EQUIVALENCE に数字と文字を混在させる。
• INTEGER 型: 1、2、4、8。
• 論理種類: 1、2、4、8。
• REAL の種類 : 4、8、(16 は実験的)。
• x86 互換システムの場合は REAL(KIND=10)。 19 桁の精度、値の範囲 10±4931
.
• リスト形式の浮動小数点出力は、一意に区別するために必要な最小桁数を出力します。
数字。
• VAX スタイルのデバッグ (D) 行。
• C スタイルの文字列定数オプション (例: ‘hello\nworld’)。
• \ および $ 編集記述子。
• VAX スタイルのシステム組み込み (SECNDS など)
• Unix システム拡張ライブラリ (getenv、etime、stat など)
• 実行時に非準拠または割り当てられていない配列を検出します。次の表 IV を参照してください。
http://ftp.aset.psu.edu/pub/ger/fortran/test/results.txt
• メモリ リークの検出 – 次の表 V を参照してください。
http://ftp.aset.psu.edu/pub/ger/fortran/test/results.txt
• 実行時エラーのトレースバック。
• スマート コンパイル機能により、モジュール コンパイルのカスケードが防止されます。
• F 互換性オプション。 http://www.fortran.com/F を参照してください。 G95 は F コンパイラとしてビルドできます。
• x86/Linux で使用可能なプログラムの一時停止/再開機能。
• 廃止されたリアル ループ インデックスは、-freal-loops を使用してコンパイルする必要があります。
• バグ レポートに対する開発者の迅速な対応が一般的です。
• GCC 4.0.3 から 4.1.2 リリース バージョンでビルドします。
• Linux/x86、PowerPC、64 ビット Opteron、64 ビット Itanium、64 ビット Alpha で利用可能。
• Windows/Cygwin、MinGW、および Interix で利用できます。
• Power Mac G4、x86-OSX 上の OSX で利用可能。
• x86 上の FreeBSD、HP-UX 11、Sparc-Solaris、x86-Solaris、OpenBSD、NetBSD、AIX、IRIX、
Alpha 上の Tru64 UNIX。
• Fink バージョンも利用できます。
• ほとんどのプラットフォーム用の「安定」および最新バージョンのバイナリは、https://ftp.g95.org で入手できます。
1
• エンディアン変換を指定するために、OPEN ステートメントで CONVERT= 指定子をサポートします。 正当な値は
「ビッグ エンディアン」、「リトルエンディアン」、「ネイティブ」、「スワップ」です。
2
ときどき、g95 についてメールをやり取りしたことのある人に会います。 最も
このような状況で私がよく受けるコメントは、私が一人でやっている並外れた仕事です. 私はいつも
笑って、私が一人でやったことがないことを指摘してください。 g95 を積極的に支援した人の数
おそらく1000前後に近いでしょう。 コードを書いている人がすべてをやっているという仮定
実際には、数十行のコードにクラッシュする人が実際に実行しているときに、
見落とされがちな非常に価値のあるサービスです。 現代のように複雑なものを書く
Fortran コンパイラは、自分で行うものではありません。 知っている。
ほとんどのものと同様に、g95 はフラストレーションから生まれました。 Fortran 77 を使用して博士論文のコードを書きました
g77. Fortran は数値計算用の素晴らしい言語です。速くて汚い言語です。
プログラムを書くことよりも答えを気にする人向けです。 私の論文コードにはかなりの数がありました
その中の洗練されたデータ構造 – リンクされたリスト、八分木、疎行列、有限要素グリッドのサポート
生成、ポアソン方程式の解法、多重極展開、共役勾配の最小化、および多くの
計算幾何学。 私は fortran 77 を使っていたので、コードは非常にぎこちなく、
動的メモリ割り当てと派生型から多大な恩恵を受けました。 そして、私の論文は終焉を迎えていました
そして私には新しい挑戦が必要でした。
より高度な言語機能の利便性を超えて、私はまた、この仕事に大いに刺激を受けました。
ビル・カハンの。 ビルの論文の多くを読んだ後に私が思いついたのは、
数値計算はトリッキーですが、エラーを次のように減らす方法を見つけることができます。
もはや誰も気にしないポイント。 ユーザーは、多くの場合、ライブラリの作成者に翻弄されます。
この点。
コンパイラはクールな部分ですが、私が常に興味を持っていたのはライブラリです。 の
コンパイラのアクションは、s によってかなり厳密に定義されています。