問題タブ [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.
warnings - 未使用の変数の警告を抑制し、他のすべてはそのままにします
ifortとgfortranを使用してFortranプログラムをコンパイルします。
しかし、私は同僚のソースも使用しており、彼は未使用の変数をたくさん持っています。これらは実際にはエラーではないので、コンパイルのためにこれらを抑制するにはどうすればよいですか?
ただし、コンパイラオプションを無効-pedantic
に-stan
したくないので、他のすべての警告が必要です。
歓声と助けてくれてありがとう
fortran - この関数がモジュール内で宣言され、同じモジュール内の別の場所で使用され、リンカーからは見えないのはなぜですか?
このようなモジュールに関数があります(誰かが興味を持っている場合は、この関数です)
この関数は、C の文字列トークナイザーのバージョンであり、サブルーチンstrtok
からこの関数を使用します。DO_SOMETHING
を定義する必要があります。定義strtok
しないと、gfortran が定義されていないと文句を言います。ただし、コードをコンパイルしてメイン プログラムにリンクすると、リンカは への未定義の参照について不平を言いstrtok_
ます。両方とも同じモジュールにあり、表示されるはずなので、なぜそうなのかわかりません。同じモジュール内の他の関数とサブルーチンには、この問題はありません。これは、これが文字*を返す関数であるという事実と関係がありますか?
gcc - cヘッダーからmodファイルを作成します
AIXにインストールgcc
しましたが、正常に動作します。gfortran
とりわけ、ヘッダーファイル(.h
C)によってアクセスされるいくつかのライブラリでそれらを使用します。まったく同じライブラリを(.mod
Fortranの)モジュールで使用できますが、ご存知のように、それらの使用はオプションです。
私のFortranソースコードから、すべてが正常に機能します。問題は、コメントアウトしたくないimplicit none
ので、私も保持する必要がありuse mylib
ます。そうしないと、たくさんの
エラー。そして、ご存知のように、.modファイルはコンパイラに依存しているため、私が持っているファイルを使用することはできません。そうしないと、gfortranが吐き出します。
理論的には、gfortranを使用してすべてのライブラリを再コンパイルできますが、さまざまな理由で失敗する可能性があります(そうでない場合でも、困難な作業になります)。
したがって、モジュール.h
内のヘッダーをプリコンパイルして、必要なのはインターフェイス情報だけを提供する方法があるかどうか疑問に思っています。.mod
残念ながら、これに関する情報は見つかりませんでした。
macos - 同時に複数のポートを構築する (macports を使用)
macbook pro core duo 2 で gcc45 +gfortran をビルドしようとしていますが、明らかに時間がかかります (数時間かかると言われています)。その間、別の端末で他のポート/パッケージをビルドすると、それが可能(安全)かどうか疑問に思っていますか?
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 を使用して動作するようです。
linker - 未定義の参照、PlplotとGFortranのリンクエラー
http://techlogbook.wordpress.com/200...-kubuntu-8-04/にある次のFortranコードをコンパイルしようとしました
プログラムをコンパイルするために、次のコマンドを使用しました。
ただし、以下に詳述するリンクエラーメッセージを受け取りました。
この問題を修正するにはどうすればよいですか?(私はgfortranのマニュアルページを読みましたが、ライブラリに対してリンクするための正しいオプションを使用していると思います。)
loops - FORTRAN でベクトル化されたループを無効にしますか?
FORTRAN でループのベクトル化をバイパスすることは可能ですか? 私は特定のプロジェクトのために F77 標準に従って書いていますが、GNU gfortran は F95 などの最新の FORTRAN でコンパイルできます。特定の FORTRAN 標準がループのベクトル化を回避したかどうか、または gfortran にこれをオフにするフラグ/オプションがあるかどうかを知っている人はいますか?
更新: したがって、私の特定の問題に対する最終的な解決策は、反復変数の更新を許可しない FORTRAN DO ループで「DO」する必要があると思います。これについての言及は、この関連スレッドの @High Performance Mark の返信に記載されています... Loop vectorization and how to avoid it
[フォートに入り、シェルターのヌーブをRANします。]
fortran - FORTRAN の関数引数
問題
関数を別の関数の引数にしようとしていますが、エラーが発生し続けます:
コード
以下は、関数を呼び出し、実際のコールバックを含むプログラムのベアボーン バージョンです。
次に、関数引数を取る関数が次のモジュールです。
概要
したがって、基本的に、testbutcher には特別な方法で評価される関数が含まれているため、モジュール butcher (具体的には butcher の関数ステップ) に送信して評価されます。これを実際に行う方法がわかりません!私が C で作業していた場合、単純に polytrope へのポインターを作成し、それを fxn にスローします。
fortran - gfortran で整数値に適用される論理ステートメントを処理するにはどうすればよいですか?
私が通常使用する ifort コンパイラではなく、gfortran コンパイラでプログラムをコンパイルするように、いくつかのコードを書き直しています。コードは次のとおりです。
gfortran コンパイラを使用して上記のコードをコンパイルすると、次のエラーが表示されます。
サブルーチンに入る 3 つの変数はすべて整数です。少し調べてみたところ、gfortran wiki には、gfortran コンパイラが整数値に適用される論理ステートメントを処理できるはずであると記載されています。私が訪れた他のいくつかのサイトは、gnu wiki から引用しているか、それに同意しています。私が通常使用しているインテル Fortran コンパイラー (ifort) が正常にコンパイルされるため、このエラーを初めて見ました。
compiler-construction - -fastsee オプションを使用するように正しいコンパイラを設定するにはどうすればよいですか
-fastsee
Fortran でオプションを使用するために正しいコンパイラを設定するにはどうすればよいですか? これは私が得ているエラーです: