Python ctypes传递给F90 real(8)datatype的数据类型

2024-09-30 16:34:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用ctypes(Pthyon3.2)从64位debianlinux机器上的共享库调用F90例程。如果F90例程采用类型为的and参数

! We're in fortran (F90) 
subroutine MyFunc(FooF90)   
real(8),intent(in) :: FooF90
! do some stuff...
return

我应该从Python传递什么?我猜是

^{pr2}$

这是对的吗?我很难找到从Python传递real(n)类型的fortran参数的引用。在

提前谢谢。在


Tags: andinre机器类型参数ctypes例程
1条回答
网友
1楼 · 发布于 2024-09-30 16:34:57

标准没有定义real(8),因此任何事情都可能发生(您应该通过selected_real_kindiso_c_binding或{}来获得种类号)。实际上,对于大多数编译器来说,它相当于c_double。您可能正在使用gfortran,这在默认情况下适用。在

如果Python解释器希望默认通过value参数传递,则可能会出现问题。在ctypes中搜索byref()函数。在

相关问题 更多 >