2011-01-18 19 views
2

私は古いFortran77プログラムでC++関数を呼び出し、いくつかの値の配列を渡します(合計100個の個別値)。配列を派生型に変換して、コードを読みやすくし、配列の個々のメンバーに名前を付けたいと思います。FortranからC++への派生型の受け渡し

Fortranの派生型をC++関数に渡すことはできますか?

C++はどのように構造がどのように見えるかを知っていますか?構造体を2回(Fortranで1回、C++で1回)定義する必要がありますか?そうであれば、両方の構造が同期していることを自動的にチェックする方法はありますか?

私はGCCを使用しています。私は明らかにFortranコードをFortran95以上に切り替える必要があります。

答えて

3

F2003の一部であるC-FortranバインディングであるISO_C_BINDINGを調べます。派生型はBIND(C)属性で作成できます。この属性は、「コンパニオンCプロセッサ」(gfortranの場合はgcc)のC構造体と互換性があります。

gfortranマニュアルの第7章を参照してください。http://gcc.gnu.org/onlinedocs/gfortran/Mixed-Language-Programming.html

関連する問題