extern “C” {
// fortran側関数の定義: subroutine hoge() なら hoge_()になる
// -fno-underscoring付きでcompileするとhoge()のままになるが、逆に区別しにくくなる気がする
// common block は構造体で
extern struct {
int a;
int b;
} hogehoge_; // => COMMON/hogehoge/a, b
// hogehoge_.a = 1; のようにアクセスできる
}
implicit noneしてない場合、型がかなり自由になるので、 gdbなどで呼び出し型を調べるとよい
fortranのlogical は C/C++ では int (or long int)になる “_gfortran_hoge”がsymbolにないと言われたら -lgfortran オプションをつける