問題タブ [gfortran]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2141 参照

fortran - Fortran コンパイル エラー: (1) と (2) の 2 つのメイン プログラム

私が書いたこのプログラムをコンパイルするのに問題があります。問題が何であるかを把握するために何時間も費やしましたが、まったく役に立たない2つの主要なプログラムがあるとだけ言っています。どんな助けにもとても感謝しています。ありがとう

0 投票する
1 に答える
603 参照

debugging - 複数のオブジェクトファイルを使って fortran プログラムをデバッグするには?

依存する .o オブジェクト ファイルを呼び出す Fortran プログラムがあります。デバッグ時にファイルをまたがるようにしたいのですが、可能ですか?

コンパイルルーチンは次のようになります。

ここで、analyze.x は実行可能ファイルです。すべての .o ファイルは、-g フラグも使用してコンパイルされています。(gdb) ブレーク メインを実行してからプログラムをステップ実行しようとすると、ほとんどのサブルーチンがオブジェクト ファイルで実行されます。オブジェクトファイルコードもステップスルーできるかどうか疑問に思っていました.

0 投票する
2 に答える
5391 参照

linux - lapackのリンクに問題があります

私はlapackとシンプルをリンクしようとしています

戻り値

それで、それをリンクしようとしています

しかし、私は次のエラーが発生します:

ここで何が問題なのですか?

0 投票する
1 に答える
278 参照

g++ - iostream-リンカーエラー(g ++を使用)

私は助けが必要です!

g++を使用して次のリンカーエラーが発生します。

FORTRANプログラムからc++関数を呼び出す必要があります。簡単な例:C ++関数(func_c.cpp)は

FORTRAN関数(programm.f90)は

コンパイルするために私は使用しました

私はUbuntu(Linux ubuntu 3.0.0-13-generic x86_64 x86_64 x86_64 GNU / Linux)とgnu-4.6.1を使用しています。

0 投票する
1 に答える
674 参照

xcode - xcode で gdb デバッグ可能な fortran 実行可能ファイルをデバッグする

デバッグ可能な fortran 実行可能ファイル (「myfortranprogram」と呼びましょう) を作成し、gdb デバッガーを介して渡すことで、デバッグ、ブレークポイントの設定などを行うことができます。

ソース ファイルが同じソース ディレクトリ 'sourcedir' にあるとします。

そのため、非常に大規模なプロジェクトではターミナルでのコンパイルが少し遅くなるため、XCode インターフェイスを使用してデバッグすることをお勧めします。myfortranprogram は既にデバッグ可能な実行可能ファイルであるため、XCode でデバッグするにはどのような手順を踏む必要がありますか? XCodeがgdbを使用してデバッグできることは私の理解です。

ありがとう!

0 投票する
1 に答える
1052 参照

c - Fortranの精度と速度対C

この主題はおそらく何百回も議論されてきました。私はどの言語もより悪いまたはより良いと主張しようとはしていません。Cコードを高速化する方法を学ぼうとしています。したがって、ここに円周率を計算するための2つのコードがあります。

1つ目はFortran90です。

2番目はCです:

CentOS6マシンでgccバージョン4.4.4を使用して両方のコードをコンパイルしています。

CPUはIntel(R)Xeon(R)CPU 5160@3.00GHzです。

したがって、各コードの実行にかかる時間は次のとおりです。

Fortranは約20%高速です。私の質問は、高速化するのに最適なコンパイラフラグは何ですか?それでも安定性と精度を維持しますか?

(はい、私はman gccについて知っています、ユーザーの意見について知りたいです)。

ご意見ありがとうございます。

結果、OpenMPプラグマなし:

コード自体を変更せずに、その他の結果:

0 投票する
1 に答える
3545 参照

eclipse - minGW で MPI (openMPI または MPICH2) を使用する方法 - GNU gfortran コンパイラ

私は eclipse PTP IDE を使用して MPI コードを開発しています。Windows で MPI をコンパイルできるようにしたいと考えています。これは c++ および c バインディングを提供しているようですが、fortran および gfortran コンパイラを使用して書いており、Windows で作業したいと考えています。現在の問題は、Linux ではローカルにライブラリをコンパイルして .mod モジュールを使用できるため、Linux には存在しません。

cygwin を使用してモジュールをコンパイルしたかったのですが、cygwin の GNU gfortran のバージョンが古すぎて、miniGW を使用して Windows で openMPI または MPICH2 を実行できませんでした。

助言がありますか?Fortran 2003 で c++ バインディングを使用している可能性があります。この機能をサポートするように、Fortran 2003 でコードを記述します。

この問題に関するドキュメントは不足しています。

ありがとうございました。

0 投票する
2 に答える
2717 参照

fortran - Intelスタイルプリプロセッサをgfortranで動作するように変換する

私が使用しているソースコードは、もともとIntel Fortranコンパイラ用に作成されているため、次のようなプリプロセッサディレクティブがあります。
!DEC$ATTRIBUTES DLLEXPORT::MYDLL
!DEC$ATTRIBUTES STDCALL::MYSUBROUTINE
!DEC$ATTRIBUTES ALIAS: 'MYENTRYPOINT'::MYSUBROUTINE

これをgfortranで動作するように変換するにはどうすればよいですか。主に、エントリポイントを定義して名前を付けられるようにしたいと思います。現在、gfortranを使用してコンパイルすると、すべてのサブルーチンがエントリポイントとして公開されます。また、エントリポイント名はすべて小文字で、末尾にアンダースコアが付いています。

0 投票する
2 に答える
510 参照

scope - タイプにアクセスできないのはなぜですか?

Fortran 関数から型を返そうとしています。これがコードです。

gfortran (4.4 & 4.5) では、次のエラーが発生します。

エラー: (1) の関数 'somefunction' の型にアクセスできません

ファイルを次のようにコンパイルしました。

タイプを明示的に公開しようとしましたが、それは役に立ちませんでした。somefunction の ac バージョンを使用する予定だったので、インターフェイス セクションに入れました。

タイプにアクセスできないのはなぜですか?

0 投票する
2 に答える
1710 参照

error-handling - 純粋な Fortran 手続きでの I/O

私が書いている純粋な手順にエラーチェックを取り入れようとしています。次のようなものが欲しいです:

ただし、純粋な関数は外部ファイルへの IO ステートメントを持つことが許可されていないため、ユニット番号を関数に渡してみました。たとえばoutput_unit = 6、これがデフォルトの出力です。gfortran はこれを依然として違法と見なします。これを回避する方法はありますか?realエラーが発生したときに文字列を出力する関数を(ここでは組み込み型ではなく)派生型にすることは可能ですか?