![]() |
| サイトマップ | |
|
Fortranプログラムは、CALL 文を使用して C 言語で書かれた関数を簡単に呼び出すことができます。ここでは、「ユーザーガイド/第9章・他言語とのインターフェイス」に紹介されている事例を、いくつか実行してみましょう。C/C++ コンパイラには、Visual Studio Express 2013 を使用します。
Absoft Tools で Visual Studio C コンパイラ(cl.exe
)を使用する場合、まず File| Preferences...|Windows C/C++ Compilers パネルを開いて、コンパイラを登録する必要があります。Visual Studio 2013 の場合は、Custom ボタンをクリックして vcvarsall.bat
ファイルを登録して下さい。vcvarsall.bat
ファイルが、cl.exe
ファイルやライブラリなどの環境変数を設定してくれます。
C の main 関数から Fortran のサブルーチンを呼び出すことも可能です。以下のように、C と Fortran のソースファイルを用意して下さい。
int main() { float a_actual; int i_actual; void sub(); a_actual = 3.3; i_actual = 9; sub_(&a_actual,&i_actual); return 0; }
sub
の後ろに「_
」を付けて下さい。sub(&a_actual,&i_actual);
SUBROUTINE sub(a_dummy,i_dummy) REAL*4 a_dummy INTEGER*4 i_dummy WRITE (*,*) 'The arguments are ',a_dummy, ' and ', i_dummy RETURN END
Absoft Tools でビルドし、実行した結果を示します。
以下のように、C と Fortran のソースファイルを用意して下さい。
PROGRAM convert_to_radians WRITE (*,*) 'Enter degrees:' READ (*,*) c CALL c_rad(c) WRITE (*,*) 'Equal to ',c,' radians' END
void c_rad_(c) float *c; { float deg_to_rad = 3.14159/180.0; *c = *c * deg_to_rad; }
c_rad
の後ろに「_
」を付けて下さい。void c_rad(c)
Absoft Tools でビルドし、実行した結果を示します。