C 言語と Fortran の混在 第壱弾2010年01月04日 07時25分35秒

Fortran のコードをある程度流して読むことが出来るようになると、次は関数の呼び出し。文字列に違和感が無くなれば、後は相互で関数を呼べる様になれば、あとはそれなりに何とかなる。

C 言語と Fortran の関数呼び出しの違いは三つ。まず、一つ目は関数名のシンボル。

C 言語から Fortran の関数を呼ぶ時は、Fortran の間数名に下線を付ける。Fortran から C 言語の関数を呼ぶ為には、C 言語の関数に下線を付けて命名する。

例えば、fthree を Fortran の関数として作る。


* Fortran function
       integer function fthree()
            fthree = 3
       end

C 言語の主関数から呼び出す。その時に、関数名の最後に下線を付ける。

/* C */
int main()
{
    int three = fthree_();
}

今度は、cthree を C 言語の関数として作る。この関数名には下線を付けておく。


/* C */
int cthree_()
{
    return 3;
}

Fortran で cthree を呼ぶ時には、関数名の下線は必要無い。

* Fortran function
       program main
           integer three
           three= cthree()
       end program main

前回次回