問題タブ [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 投票する
2 に答える
4199 参照

warnings - 未使用の変数の警告を抑制し、他のすべてはそのままにします

ifortとgfortranを使用してFortranプログラムをコンパイルします。

しかし、私は同僚のソースも使用しており、彼は未使用の変数をたくさん持っています。これらは実際にはエラーではないので、コンパイルのためにこれらを抑制するにはどうすればよいですか?

ただし、コンパイラオプションを無効-pedantic-stanしたくないので、他のすべての警告が必要です。

歓声と助けてくれてありがとう

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

fortran - この関数がモジュール内で宣言され、同じモジュール内の別の場所で使用され、リンカーからは見えないのはなぜですか?

このようなモジュールに関数があります(誰かが興味を持っている場合は、この関数です)

この関数は、C の文字列トークナイザーのバージョンであり、サブルーチンstrtokからこの関数を使用します。DO_SOMETHINGを定義する必要があります。定義strtokしないと、gfortran が定義されていないと文句を言います。ただし、コードをコンパイルしてメイン プログラムにリンクすると、リンカは への未定義の参照について不平を言いstrtok_ます。両方とも同じモジュールにあり、表示されるはずなので、なぜそうなのかわかりません。同じモジュール内の他の関数とサブルーチンには、この問題はありません。これは、これが文字*を返す関数であるという事実と関係がありますか?

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

gcc - cヘッダーからmodファイルを作成します

AIXにインストールgccしましたが、正常に動作します。gfortranとりわけ、ヘッダーファイル(.hC)によってアクセスされるいくつかのライブラリでそれらを使用します。まったく同じライブラリを(.modFortranの)モジュールで使用できますが、ご存知のように、それらの使用はオプションです。

私のFortranソースコードから、すべてが正常に機能します。問題は、コメントアウトしたくないimplicit noneので、私も保持する必要がありuse mylibます。そうしないと、たくさんの

エラー。そして、ご存知のように、.modファイルはコンパイラに依存しているため、私が持っているファイルを使用することはできません。そうしないと、gfortranが吐き出します。

理論的には、gfortranを使用してすべてのライブラリを再コンパイルできますが、さまざまな理由で失敗する可能性があります(そうでない場合でも、困難な作業になります)。

したがって、モジュール.h内のヘッダーをプリコンパイルして、必要なのはインターフェイス情報だけを提供する方法があるかどうか疑問に思っています。.mod残念ながら、これに関する情報は見つかりませんでした。

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

macos - 同時に複数のポートを構築する (macports を使用)

macbook pro core duo 2 で gcc45 +gfortran をビルドしようとしていますが、明らかに時間がかかります (数時間かかると言われています)。その間、別の端末で他のポート/パッケージをビルドすると、それが可能(安全)かどうか疑問に思っていますか?

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

constructor - Fortran で構造体コンストラクターをオーバーライドする方法

現在、Fortran で構造コンストラクターをオーバーライドすることは可能ですか? 次のような提案された例を見てきました (Fortran 2003 仕様など)。

これは基本的に冗長な変数名による大量のエラーを生成します (例: エラー: 'mytype' の DERIVED 属性が (1) の PROCEDURE 属性と競合します)。Fortran 2003 の例を逐語的にコピーすると、同様のエラーが生成されます。gfortran 4.4、ifort 10.1、および 11.1 でこれを試しましたが、すべて同じエラーが発生します。

私の質問: これは fortran 2003 の実装されていない機能ですか? または、これを間違って実装していますか?

編集:この問題に関する gfortranのバグ レポート発表済みのパッチを見つけました。ただし、gcc46 の 11 月のビルドを使用してみましたが、運が悪く、同様のエラーが発生しました。

編集 2: 上記のコードは、Intel Fortran 12.1.0 を使用して動作するようです。

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

linker - 未定義の参照、PlplotとGFortranのリンクエラー

http://techlogbook.wordpress.com/200...-kubuntu-8-04/にある次のFortranコードをコンパイルしようとしました

プログラムをコンパイルするために、次のコマンドを使用しました。

ただし、以下に詳述するリンクエラーメッセージを受け取りました。

この問題を修正するにはどうすればよいですか?(私はgfortranのマニュアルページを読みましたが、ライブラリに対してリンクするための正しいオプションを使用していると思います。)

0 投票する
4 に答える
1254 参照

loops - FORTRAN でベクトル化されたループを無効にしますか?

FORTRAN でループのベクトル化をバイパスすることは可能ですか? 私は特定のプロジェクトのために F77 標準に従って書いていますが、GNU gfortran は F95 などの最新の FORTRAN でコンパイルできます。特定の FORTRAN 標準がループのベクトル化を回避したかどうか、または gfortran にこれをオフにするフラグ/オプションがあるかどうかを知っている人はいますか?

更新: したがって、私の特定の問題に対する最終的な解決策は、反復変数の更新を許可しない FORTRAN DO ループで「DO」する必要があると思います。これについての言及は、この関連スレッドの @High Performance Mark の返信に記載されています... Loop vectorization and how to avoid it

[フォートに入り、シェルターのヌーブをRANします。]

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

fortran - FORTRAN の関数引数

問題

関数を別の関数の引数にしようとしていますが、エラーが発生し続けます:

コード

以下は、関数を呼び出し、実際のコールバックを含むプログラムのベアボーン バージョンです。

次に、関数引数を取る関数が次のモジュールです。

概要

したがって、基本的に、testbutcher には特別な方法で評価される関数が含まれているため、モジュール butcher (具体的には butcher の関数ステップ) に送信して評価されます。これを実際に行う方法がわかりません!私が C で作業していた場合、単純に polytrope へのポインターを作成し、それを fxn にスローします。

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

fortran - gfortran で整数値に適用される論理ステートメントを処理するにはどうすればよいですか?

私が通常使用する ifort コンパイラではなく、gfortran コンパイラでプログラムをコンパイルするように、いくつかのコードを書き直しています。コードは次のとおりです。

gfortran コンパイラを使用して上記のコードをコンパイルすると、次のエラーが表示されます。

サブルーチンに入る 3 つの変数はすべて整数です。少し調べてみたところ、gfortran wiki には、gfortran コンパイラが整数値に適用される論理ステートメントを処理できるはずであると記載されています。私が訪れた他のいくつかのサイトは、gnu wiki から引用しているか、それに同意しています。私が通常使用しているインテル Fortran コンパイラー (ifort) が正常にコンパイルされるため、このエラーを初めて見ました。

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

compiler-construction - -fastsee オプションを使用するように正しいコンパイラを設定するにはどうすればよいですか

-fastseeFortran でオプションを使用するために正しいコンパイラを設定するにはどうすればよいですか? これは私が得ているエラーです: