【发布时间】:2017-06-14 00:42:07
【问题描述】:
我应该如何使用 extern 将 fortran interface 导入到 C 中?
假设我有以下 fortran 模块:
!swapper module
module swapper
interface swap
module procedure swap_r, swap_i, swap_c
end interface
contains
!subroutine implementations here:
!swap_r takes two double precision as argument
!swap_i takes two integers as argument
!swap_c takes two characters as argument
end module swapper
那我可以只用C做以下吗?
extern "C" void __swapper_MOD_swap(double*, double*)
extern "C" void __swapper_MOD_swap(int*, int*)
extern "C" void __swapper_MOD_swap(char*, char*)
或者,如果我承诺只用双精度数字调用swap,我可以专门这样做吗?
extern "C" void __swapper_MOD_swap(double*, double*)
【问题讨论】:
-
C 中没有泛型。但 C++ 中有泛型。而且C中没有
extern "C"。你真的在用C++吗? -
这里有更多关于“INTERFACE”的信息:people.sc.fsu.edu/~jburkardt/f_src/f90_calls_c++/…
标签: c fortran language-interoperability