- 締切済み
c++からfortranの関数を呼び出す
Linux上でintel fortran compilerとc compilerを使っているものです。 cのプログラムからfortranで書かれたsubroutineやfunction を呼び出したいと考えています。 いろいろネット上を調べたのですが、どれも細かいことは書いていても 具体的にどのようなコマンドを実行すればいいのか等については 部分的にしか書いておらず、よく把握できていません。 どなたか、非常に簡単なプログラムで結構ですので、 具体的なプログラムと、実行すべきコマンドについて 具体例を挙げて教えていただけないでしょうか? もしくは、そのようなページを教えてください。 よろしくお願い致します。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- echoes_x86
- ベストアンサー率65% (21/32)
こんばんは. そのものずばりの内容が検索で引っ掛かるようですが… 必要な作業は… (1) C++ 側のコードでリンケージを適切に設定する(extern "C") (2a) ifortでリンクする場合はリンク時に -lstdc++ 等として C++ の標準ライブラリをリンクし,エントリポイントが C++ 側にあることを明示するために -nofor_maIn というオプションを与える (2b) icpcでリンクする場合は -lifport -lifcore 等として Fortran のライブラリをリンクする お好きな方法でどうぞ.
- Tacosan
- ベストアンサー率23% (3656/15482)
C コンパイラはどこのやつを使ってるんだろう. Intel C Compiler かなぁ. たぶん, 「具体的にどのようなコマンドを実行すればいいのか等」は「それぞれの言語の中ではできている」ことを前提に書いてないだけじゃないかなぁ. いくつかのサイトを例示してくれれば分かるけど.
- chie65536(@chie65535)
- ベストアンサー率44% (8755/19865)
>具体的なプログラムと、実行すべきコマンドについて >具体例を挙げて教えていただけないでしょうか? 貴方が使っているコンパイラの詳細が書かれてないのに、どうやって回答しろと? 回答をするには、Cの種類、FORTRANの種類、それぞれのバージョン、開発環境、実行環境のスペックとか、色々な情報が必要。 貴方は、1度しか会った事がない、身元をよく知らない知人からの突然の電話で「道に迷いました。家に帰れません」って言われて、その場で電話で家まで案内出来ますか? 出来ないでしょ。まずは「今、どこにいる?」「君の家の住所は?」とか、詳しい状況を聞かないと無理でしょ。 現在の状況も何も告げずに、いきない「道に迷った」って言われてもねぇ…。