【发布时间】:2012-10-15 11:38:41
【问题描述】:
我正在使用 ctypes (Pthyon3.2) 从 64 位 Debian Linux 机器上的共享库中调用 F90 例程。如果 F90 例程采用和参数类型,
! We're in fortran (F90)
subroutine MyFunc(FooF90)
real(8),intent(in) :: FooF90
! do some stuff...
return
我应该从 Python 传递什么?我的猜测是,
# We're in Python3.2
F90func(ctypes.byref(ctypes.c_double(FooPy)))
这是正确的吗?我无法轻松找到从 Python 传递 real(n) 类型的 fortran 参数的参考。
提前致谢。
【问题讨论】:
-
你可能想看看 numpy 的
f2py来包装 fortran 代码。我发现它总体上很容易使用... -
如果子程序是 c 互操作的,我认为这没有必要,而且它是不需要的互连。
标签: python python-3.x fortran ctypes