問題タブ [fortran77]

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 に答える
2196 参照

fortran - 1 台の PC での MPI Fortran コード エラー

最近、単一のマシン (Ubuntu 12.04 - 64 ビット コア i7 2670 QM) で mpi コードをコンパイルして実行しようとしていました。次の構成を使用して mpich2 バージョン 1.2 をインストールしました。

インストールは問題なく、mpd はうまく動作しました。サンプルで mpd をテストしましたが、すべてが完璧です。

mpich2 をコンパイルしたときに mpif90 が作成されなかった理由がわからないため、mpif77 を使用してコードをコンパイルします。しかし、mpif77 を使用しても、エラーなしでコードをコンパイルできました。

コードをコンパイルするために使用しているフラグは次のとおりです。

コンパイラの場合:

MPI リンカーの場合:

問題は、自分のマシンでコードを実行しようとしたときです。

まず、次のように mpd を呼び出します。

次に、コードを次のように実行します。

私は次のように多くのバリエーションを試しました:

そして、すべて同じエラーになります。

自宅で作業するには、このコードを自分のパソコンで実行する必要があるため、この問題を解決するためにほぼ 2 週間を費やしました。私を助けることができるすべてに感謝します!


MPI ライブラリを初期化する方法は次のとおりです。

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

format - Fortran 77 プログラムでエラー「startio error: error in format」が発生する

古いレガシ fortran 77 コードを実行しようとすると、エラーが発生します。プログラムは g77 でコンパイルされました。

実行時の出力は次のとおりです。

j.cmp私の入力ファイルです。cyfile私の出力ファイルと思われます。エラーの原因について何か考えがある人はいますか? それは私の入力ファイルの形式ですか?出力ファイルに書き込めませんか?

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

fortran - Compaq VisualFortranとGNUFortranの違いは何ですか?

Linuxでは、gfortranを使用しましたが、WindowsのCompaq Visual Fortran 6.5(CVF)で開発されたFortran77コードのコンパイルに失敗しました。TYPE一部のエラーは、CVFやPRINTgfortranなど、さまざまなキーワードの変更に関連しています。

CVFとgfortranの詳細な比較はありますか?

0 投票する
3 に答える
339 参照

c++ - スタティック ライブラリ関数からのテキスト データ ファイルへのアクセス

スタティック ライブラリが ASCII データ ファイルで利用可能なデータを取得できるようにするにはどうすればよいですか?

データ ファイルからデータを読み取る関数を含むライブラリとしてモデルをシミュレーションに追加しようとしています。実際のフル シミュレーションの外部でメイン プログラムから関数をコンパイルして実行することはできますが、関数をシミュレーション用のホストにライブラリとして配置すると、データが読み取られなくなります。

データへのパスはユーザーによって変わるため、ASCII データ ファイルへの絶対データ パスを提供することはできません。objcopy を使用してデータ ファイルをライブラリ内のオブジェクト コードにする方法はありますか、またはスタティック ライブラリからデータに最適にアクセスするにはどうすればよいですか?

0 投票する
3 に答える
4973 参照

fortran - Fortran 'call' ステートメント: 実際には何を呼び出すことができますか?

非常に奇妙に書かれた約 400 行の Fortran 77 コードを継承しました。それを段階的に分析して、頭の中で明確にしようとしています。

とにかく、私はヘッダーのようなファイル(実際には.hですが、その中のコードは C/C++ ではなく fortran です)を持っていgetarg.hます。

次に、次のコードを含む別の fortran ファイル ( .f)を呼び出します。getserie.h

私の質問はcall、変数宣言だけを含む外部ファイルを作成できますか? これを行うことの効果は何ですか?

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

plot - Fortran 77 の列に結果を格納する

コードの 1 つを fortran 77 に変換していますが、結果の保存に関して問題があります。

次のコードを使用しました

次に、ファイル name.txt を Matlab にロードしてプロットします。ただし、結果は 2 次元配列としてファイルに書き込まれるため、matlab はエントリを間違った順序で認識します。その解決策は、結果を一次元配列として name.txt に書き込むことだと思います。

fortran からの結果を配列として書き込むことについて、誰でも提案できますか。たとえば、エントリが次のように並べられているファイルを取得したいと思います

1 2 3 4 5 6 7 8 9 10

以外

1 2 3 4 5
6 7 8 9 10.

もちろん、Fortran 77 から得られた結果をプロットするより良い方法を知っていれば、それは私にとっても役に立ちます。

ところで、私は UNIX で作業しています。

ありがとう

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

segmentation-fault - Fortran: 関数内でサブルーチンを呼び出す

関数サブプログラムでサブルーチンを呼び出す必要があり、メイン プログラムで同じサブルーチンを呼び出すことができるプログラムを作成しています。

これはすべて固定形式の Fortran 77 ('.f' 拡張子) です。表示されるエラーは、セグメンテーション違反です。このサイトの他の投稿のいくつかが示唆するように、モジュールを作成することになっていますか? 私はまだ初心者で、77 でモジュールを作成する方法がわかりません。サブルーチンは、関数とメイン プログラムでアクセスできる必要があります。私の現在のプログラム構造では、関数とサブルーチンが 2 つの別個の .f ファイルに分割されており、main の最後で include ステートメントが使用されています。

このサイトで同様の問題を検索しましたが、fortran 90 に関するヘルプしか見つかりませんでした。gcc 4.6.1 から gfortran を使用しています。

編集:問題を解決しました。関数で呼び出そうとしたサブルーチンには、数値と文字の両方の出力がありました。文字出力を見落としており、文字出力を処理するための文字定義変数がありませんでした。関数内で文字変数を定義すると、すべて正常に機能しました。皆様のご理解とご協力に感謝いたします。

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

io - Fortran:ファイルから配列を読み取る方法

ファイルから配列に整数を読み取ろうとしています。しかし、プログラムを実行するとエラーが発生します。

入力ファイルは次のようになります。

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

fortran - 入力に使用されない Fortran 77 書式指定子はどれですか?

C# 用の Fortran I/O の作成に引き続き取り組んでいます。私の限られた fortran の経験は実際には役に立たないので、もう一度専門家からのアドバイスが必要です。

現時点では、Fortran 77 とデータ入力だけに関心があります。データ出力については後で説明します。

このFortran 編集記述子のリストから、データ入力用に I、F、E、D、G、L、A、''、Tn、TL、TR、および X をコード化しました。まだBNとBZの世話をする必要があります...

$、:、/、Sp、SS、および S の残りの記号が、データ入力のフォーマット文字列に実際に出現するかどうか疑問に思っています。/ データ行の読み取りが早期に終了する可能性があると想像できますが、他の方法がどのように役立つかはわかりません。

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

c++ - Fortranサブルーチンの先頭で宣言されていない変数のタイプを判別する

私は、パラメーター型がコードブロックの先頭で宣言されていないレガシーFortran77コードサブルーチンを使用しています。

これは、サブルーチンの最上部を示すスニペットです。

上記から、これはタイプがCと同等のサイズAの長さの配列だと思います。または、はタイプが。の長さの配列です。NREAL *4floatFV(4)4REAL *4

ただし、F1,F2,F3,F4,SI,N,IERRタイプがリストされていない場合、のタイプは何ですか?であるN必要があるようintegerです。

C ++コードからサブルーチンを呼び出すことができるように、型を知る必要があります。宣言されていない型のFortran規則はありますか?