問題タブ [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 に答える
5419 参照

xcode - fortranを使用したXcode

私が作成したmakefileを使用して、XcodeでいくつかのFortranファイルをコンパイルしようとしています。問題は、Xcodeがgfortranコンパイラを見つけられないことです。コンソールに移動してそこからコンパイルしようとするとうまくいくので、私はそれを持っています。

XcodeにFortranコンパイラを追加する方法を知っていますか。

前もって感謝します

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

pointers - 派生型の関連ポインター? gFortran 対 Intel

派生型内のポインターが既に定義されているかどうかを確認したいと思います。私の問題を示すために、次の簡単なコードを書きました。

このコードを gFortran 4.4.1 でコンパイルし、Ubuntu で実行すると、次の結果が得られます。

一方、インテル Fortran コンパイラー 11.0 を使用して Windows Vista でコンパイルされた同じコードは、以下を提供します。

最初の結果 (gFortran) は、私が実際に期待しているものです。しかし、Intel コンパイラが異なる結果を提供するという事実は、私のコードが正しくないのではないかと心配しています。この例のポインターで何かひどく間違ったことをしていますか? アイデアや説明はありますか?

ご協力いただきありがとうございます。

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

linux - Mac での Fortran バス エラー

次の Fortran コードを Mac で実行するとバス エラーが発生しますが、Linux マシンで実行するとエラーは発生しません。

プログラムが不可能なメモリにアクセスしようとするとバスエラーが発生することは理解していますが、このプログラムのどこでそのような試みが行われたのかわかりません。私の MacBook には GCC 4.4.0 があり、私の Linux マシンには GCC 4.3.2 があります。このエラーが発生する理由について何か考えはありますか?

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

dll - gfortran、DLL、アンダースコア

サードパーティの DLL からいくつかのサブルーチンにアクセスしたいと考えています。関数は、呼び出し規約として STDCALL を使用します。

実行dumpbin /export foo.dllすると、次のような結果が得られます。

以下を使用してコードをコンパイルします。

エラーが発生します: undefined reference to '_foo_'(アンダースコアに注意してください)。

-mrtdコンパイルフラグと、グーグルで検索した他のフラグを追加しようとしましたが、すべて役に立ちませんでした。

アンダースコアを追加しないように fortran に指示するにはどうすればよいですか?


編集:少し説明が必要です。

  1. ソースがない既存の DLL があります。
  2. この DLL は、役立つ場合、Visual Basic で記述されています。
  3. この DLLをfortran から呼び出したい。
  4. test.f90 に書いたら:リンケージエラーFoo(1.0d0)が出るundefined reference to '_foo_'
0 投票する
2 に答える
6735 参照

compiler-construction - どのコンパイラを使用したかを調べる方法

NetCDF「binary-netcdf-4.0.1_gfortran_gfortran_c++.tar」をインストールしました。しかし、使用した gfortran コンパイラについてはよくわかりません。使用したコンパイラを見つけるにはどうすればよいですか?

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

fortran - SunStudio互換のFortran77をgccに移植:READ、FORMATのフォーマット指定子

Windowsでgccに移植しようとしている古いFortran77がいくつかあります。

私はgfortran4.4を使用しています。

ステートメントはREAD(FOO、'(F)'、ERR = BAR)BAZを使用し、gccはFについて不平を言っています。私が見たところ、Fにはそれに関連付けられたサイズが必要であるように見えます。同様の構成を使用するFORMATステートメントもあります。

これを移植する適切な方法は何ですか?Sun StudioコンパイラでFを単独で使用すると、適切なサイズにぴったり合うようです。しかし、gfortranは、それが非負または正の幅ではないことについて不平を言います。

これを移植する方法はありますか?

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

fortran - gfortran での !DEC$ ディレクティブの前処理

私は、もともと Intel のコンパイラを対象とした大規模な Fortran コードベースを持っています。現在、gfortran でコンパイルする準備をしています。残念ながら、コードには次のような Intel スタイルの前処理ディレクティブが散らばっています。

グーグルとgfortranのドキュメントからわかることから、次のようなCスタイルの前処理以外には、gfortranの内部サポートはありません。

他の誰かがこの問題に遭遇し、エレガントな解決策を思いつきましたか? もちろん、コンパイルのためにコードを gfortran に渡す前に、外部のプリプロセッサを呼び出すシェル スクリプトを作成することもできますが、これは私にとって素晴らしい解決策とは思えません。

何かご意見は?ありがとうSO教祖!

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

windows - シンボリックデータを使用してコマンドラインファイルをデバッグする方法

クラッシュするコンパイル済みの.exeファイル(gfortranおよび-gオプションを使用してコンパイル済み)があります。WinDBG -Iコマンドを使用して、WinDBGプログラムをアタッチできます。

おかしなことに、スタックオーバーフローが発生します:

ただし、出力には、プログラムにデバッグ情報がないことが示されています。.dbgまたは.pdbファイルのいずれかを検索しようとしますが、それらはありません。デバッグ情報が実行可能ファイルに含まれていると思います(unix-backgroundから取得)。

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

fortran - 二次方程式を解くが、奇妙なエラーが発生する

Fortran で最初のプログラムを試して、二次方程式を解こうとしています。コードを二重および三重にチェックしましたが、何も問題はありません。「(1)の名前に無効な文字」と「(1)の分類不能なステートメント」がさまざまな場所に表示され続けます。コードの何が問題になっていますか?

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

macos - このFortran'77スニペットの何が問題になっていますか?

私はいくつかのレガシーFortranコードを維持するという任務を負っていますが、gfortranでコンパイルするのに問題があります。私はかなりの量のFortran95を作成しましたが、これはFortran 77での初めての経験です。このコードスニペットは、問題のあるものです。

でコンパイルすると、ステートメントでgfortran file.FOR始まるすべての行がエラーになります(たとえば、25エラー制限に達するまでの後続の各行)。でコンパイルしましたが、警告を修正してもこの問題は修正されませんでした。commonError: Unexpected COMMON statement at (1)-Wall -pedantic

クレイジーなことは、で始まる4行すべてをコメントアウトするとIF='TEST.IN'、プログラムは期待どおりにコンパイルおよび動作しますが、すべてコメントアウトする必要があるということです。それらのいずれかをコメント化しないままにしておくと、commonステートメントから始まる同じエラーが発生します。ステートメントをコメントアウトするcommonと、次の行から始めて同じエラーが発生します。

私はOSXLeopard(Snow Leopardではない)を使用してgfortranいます。私はこのシステムをgfortranFortran95プログラムを作成するために広範囲に使用したので、理論的にはコンパイラー自体は正気です。このコードで何が起こっているのでしょうか?


編集:g77でコンパイルすると:

えーと、(1)でどのような文脈が確立されていますか?