問題タブ [intel-fortran]
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.
fortran - ifort が内部コマンドまたは外部コマンドとして認識されない
Intel Visual Fortran を使用して Visual Studio 2010 を使用して Fortran でコードをコンパイルしていますが、このメッセージが引き続き表示されます。インストールはエラーなく完了しました。追加のパッケージやライブラリは必要ないと思います。
fortran90 - 整数を long double に変換する
long double ランダム ジェネレーターを作成する必要があります。高精度のランダムシーケンスは必要ないため、線形合同ジェネレーターについて考えています。しかし、整数を long double に変換するにはどうすればよいでしょうか?
fortran - 複数の部分からなる Fortran プログラムのコンパイル
私は Fortran と Intel コンパイラ全体に非常に慣れていません (Visual Studio 統合のない IMSL ライブラリを備えた Windows ベースの Intel コンパイラを使用しているため、コマンドラインのみです)。
問題は非常に単純なはずです。コンパイルする必要のある Fortran プログラムがあり、それは 4 つの異なるソース コード部分として格納されています。メイン プログラム (およびいくつかのサブルーチン) は、central.for という名前のコード ファイルに格納されています。また、s1.for、s2.for、および s3.for と呼ぶ 3 つのファイルもあり、それぞれに 1 つのサブルーチンのみが含まれています (letsそれらを sub1-sub3) と呼び、メインプログラムはありません。メイン プログラムは、s1 ~ s3 および central.for に格納されているサブルーチンを呼び出します。
問題は、どのようにコンパイルする必要があるかです。
central.for をコンパイルしようとすると、error LNK2019: unresolved external symbol _SUB1 referenced in function _MAIN__
. 同様に、SUB2 と SUB3 についても同じメッセージが表示されます。
s1.for-s3.for をコンパイルしようとすると、error LNK2019: unresolved external symbol _MAIN__ referenced in function _main
どうにかしてそれらをリンクする必要があることは明らかです。しかし、私は方法がわかりません
fortran - プログレスバーは、gfortran にある間、ifortran で継続的に書き込まれません
Fortran で遺伝的アルゴリズムを作成して、一般的なフィットネス関数を long double 精度で計算できるようにしました。最初のバージョン (倍精度) は、プログレス バーを実装した gfortran 用に作成されました。
gfortran はreal*16
計算を実行できないため、ifort でコンパイルする必要があります。すべて正常に動作しますが、この場合 (ifort) 進行状況バーが正しく動作しません。つまり、サイクル全体が完了したときにのみ、進行状況バーが std 出力に出力されます。
プログレスバーのコードは次のとおりです。
私は 64 ビットの Intel Xeon を使用しており、ifort のオプションは次のとおりです。
gfortran を使用するときは、次のようにコンパイルします。
gfortran (ただし倍精度) では、すべて正常に動作します。
windows - forrt1: 重大 (170): プログラム例外 - スタック オーバーフロー
そして、助けてくれてありがとう!
プログラムをコンパイルしました (これは私が作成したものではありません)。Mac では問題なく動作しますが、Windows でプログラムを実行しようとすると、プログラムの実行が開始された直後に次のエラー メッセージが表示されます。
forrt1: 重大 (170): プログラム例外 - スタック オーバーフロー
私は ifort や Fortran のユーザーではありませんが、仕事のためにプログラムをコンパイルしようとしています。
「ifort --version」を実行し、Intel Visual Fortran Compiler XE バージョン 12.0.0.104 を使用しています。私はこの問題に数日間取り組んでおり、Makefile のフラグをいじってみましたが、うまくいきませんでした。
さらに情報を提供できる場合は、最善を尽くします。再度、感謝します!
debugging - さまざまなコンパイラデバッグフラグの違いは何ですか?
ifortデバッグフラグのリストを見つけました。ただし、デバッグフラグの説明については混乱しています。述べたように、-debugは、all、full、minimum、およびnoneとして構成できます。「-debugall」と「debugfull」の違いは何ですか?より多くのデバッグ情報が含まれているのはどれですか?
idb GUIを使用してFortran実行可能ファイルをデバッグする場合、ブレークポイントを設定できるのは、すべてではなく一部の行だけです。デバッグ情報のレベルが原因で、ソースコードの一部の行だけがオブジェクトファイルの行番号テーブルに関連付けられているのではないかと思います。もしそうなら、どうすればソースファイルのすべての行をオブジェクトファイルに関連付けることができますか?
linker - ifortおよび.soライブラリとの正しいリンク順序
実行可能ファイルexecutable.exeと一緒にリンクしている2つのサードパーティライブラリA.soとB.soがあります。A.soには、B.soによって対処されるバグが含まれています。つまり、次のようになります。
A::subroutine1()
呼び出されたときに浮動小数点例外でクラッシュする可能性があります(FP演算バグ)B::subroutine1()
は固定実装であり、の代わりに常に呼び出す必要がありA::subroutine1()
ます。
AとBの正しいリンク順序は何ですか?私が今していることは:
私はまだ時々浮動小数点例外を受け取ります(エラーは正確に再現できないので、デバッグするのはかなり難しいです)。ただし、クラッシュすると、プログラムはA :: subroutine1()が違反者であることを通知します。そのため、何らかの理由で間違ったバージョンのsubroutine1()がリンクされます。
これで最初のスタブとしてリンク順序を反転しますが、executable.exeを検査して実行時に呼び出されるsubroutine1()のバージョンを確認するために使用できるツールはありますか?
ありがとう!
fortran - FORTRAN エラー #6404: この名前には型がなく、明示的な型が必要です
FORTRAN は初めてで、このエラー #6404 が表示されます。
これは ifort コンパイラによるもので、コンパイラのバグでないことを願っています。
私が間違っているアイデアはありますか?
eclipse - intel fortran コンパイラ用の Eclipse プラグインはありますか?
最近、Linux に Intel FORTRAN コンパイラ 11 をインストールしました。そのインストール パスには、eclipse plug-ins という名前のフォルダーがあります。Intel の Web サイトを見てみると、このプラグインのホームページが見つかりません。Eclipse 用の Intel Fortran 11 プラグインを既にインストールしている人がいるのだろうか。はいの場合、どのようにインストールする必要がありますか? 私もこの投稿を見ました。それはコンパイラではなくidbに関するものです。
linker - fortran の HDF5 とリンクするときのシンボル名の @ の問題
Intel Fortran 11.1 を使用して、HDF5 ライブラリを Visual Studio 2010 のソリューションにリンクする際に問題が発生しています。
具体的なエラー メッセージは次のとおりです。
このシンボルは hdf5_fortran.lib ライブラリにある必要があり、hdf5_fortran.lib ファイルのシンボルを調べると、実際にシンボルが含まれていることがわかります
追加の関連情報: コマンド ライン ステートメントを調べて、リンカが hdf5_fortran.lib ファイルを正しくインクルードしていることを確認しました。さらに、ライブラリ ファイル名のスペルを間違えると、ファイルが見つからないというエラーが報告されます。
コード ベースは、いくつかの歴史的な理由により、/names:as-is および /assume:nounderscore でコンパイルされています。
ここで、シンボルのリンクに関する専門家でなくても、_H5F_mp_H5FOPEN_F@ の末尾にある「装飾」@4 が、定義されたシンボル _H5F_mp_H5FOPEN_F と競合しているように見えるので、明らかな問題は次のとおりです。私のコードで参照するか、またはこれについて他の方法がありますか?