• 締切済み

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 ではできないのでしょうか? 教えてください。

みんなの回答

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.2

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 のルーチンをつなぐような部分は、「ミックストランゲージ」というような タイトルがついていると思うのだけれど。 # こんなプログラムを作るだけでおしまい、では無いのでしょう? # まず、マニュアルを読む癖をつけましょう。

回答No.1

マニュアルは読みましたか? Cからcallできる関数を Fortranで書く方法、 および その関数を Cからcallする方法 は、Fortranのマニュアルに書かれているはずです。

関連するQ&A