- 締切済み
Fortran と、C言語のデータの受け渡し
Micro Soft Visual C++ 上で Fortran と、C言語のデータの受け渡しをしたいのですが、例えばC言語でint型のi,jを読み込み、Fortranでi,jを受け取り、その和kを求め、kをC言語に受け渡し、printfでkの値を表示させるプログラムはどんな感じになるんでしょうか? お手数ですがCとFortranのソースコードを教えていただけたらうれしいです。 また、Micro Soft Visual C++ 6.0 と Visual Fortran 6.1a ではできないのでしょうか? 教えてください。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- a-kuma
- ベストアンサー率50% (1122/2211)
Microsoft 系だったら(*)こんな感じになるはず。 (*) シンボルの解釈が、コンパイラ(正確に言うとリンカ)で違います ■ C 側 #include <stdio.h> int main(void) { int i, j, k; scanf("%d %d", &i, &j); /* 一般に、入力に scanf を使うのは良くないといわれる */ FORT_SUB(&i, &j, &k); printf("%d\n", k); return 0; } ■ Fortran 側 SUBROUTINE FORT_SUB(I, J, K) INTEGER I, J, K K = I + J RETURN END それぞれのコンパイルについては、それぞれのマニュアルを、リンクについては Visual C++ のマニュアルを見てください。 多分、Fortran のルーチンをつなぐような部分は、「ミックストランゲージ」というような タイトルがついていると思うのだけれど。 # こんなプログラムを作るだけでおしまい、では無いのでしょう? # まず、マニュアルを読む癖をつけましょう。
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
マニュアルは読みましたか? Cからcallできる関数を Fortranで書く方法、 および その関数を Cからcallする方法 は、Fortranのマニュアルに書かれているはずです。