-
4 votesanswersviews
将一个C字符串数组传递给Fortran(iso_c_binding)
如何将C字符串数组( char* cstrings[] )传递给Fortran子例程? 问题Arrays of strings in fortran-C bridges using iso_c_binding肯定是相关的,但答案似乎不正确,甚至不用GNU Fortran编译 . 我目前正在为Fortran代码开发一个C接口,我期望 iso_c_binding (我以前用过的)会让这件事变得轻而易举... -
2 votesanswersviews
Cpython和fortran链表之间的互操作性
我有一个类似的fortran链表 type :: node type(node), pointer :: next => null() integer :: value end type node 理想情况下,我希望使用Cpython与此进行交互 . 我使用f2py程序创建了共享对象,使用了很多python的子程序 . 但是,f2py不能与派生类型一起使用 . 我的问题是,... -
6 votesanswersviews
在Fortran派生类型中保存指向C函数的指针
我有一个从C程序调用的Fortran DLL,我的一个程序需要定期调用由C程序提供的回调函数 . 我目前在它的'简单'形式下运行良好,但我希望能够将我的回调指针存储在派生类型中,以便它可以更容易地在我的Fortran代码中传递 . 到目前为止,我尝试过的任何东西似乎都没有用 . 首先,这是我目前所拥有的,这确实有效: 从C(OK,实际上是C)程序开始,回调的头部原型是: typedef void ... -
1 votesanswersviews
如何在C中传递派生类型,它与C结构不相互影响?
我想让Fortan API使用C代码 . Fortran代码主要包含派生类型,这些类型不能通过使用 iso_c_binding 模块与C互操作 . 我发现此帖子包含类似的问题https://software.intel.com/en-us/forums/topic/394312 . 这篇文章c-fortran interoperability - derived types with point... -
5 votesanswersviews
接口C函数与Fortran中的结构[重复]
这个问题在这里已有答案: Access a parameter from an interface (Fortran) 1回答 Why is the type not accessible? 2个答案 我想将C函数与Fortran中的相应结构相链接 struct ovf_file { bool found; bool is_ovf; int n_segments... -
1 votesanswersviews
在C和Fortran代码之间传递复数数组
我正在使用C和Fortran代码 . C代码需要调用Fortran子例程 . Fortran子例程的一个参数具有Fortran类型 complex . C代码在一个文件中,Fortran代码子例程在另一个文件中 . 我在64位 GNU/Linux 系统上使用 gcc 和 gfortran . 这是一个显示Fortran子例程声明的片段(以及一些额外的行): SUBROUTINE minp... -
1 votesanswersviews
如何将C_FLOAT数组传递给Fortran子例程
在Fortran中,我有一个 C_FLOAT 数组,它被声明为输入参数: SUBROUTINE Main(n,myCArray) BIND(C, NAME = 'Main') INTEGER(C_INT), INTENT(IN ) :: n REAL(C_FLOAT), INTENT(INOUT), dimension(n) :: myCArray ... -
2 votesanswersviews
c-fortran互操作性 - 带指针的派生类型
我有很长的fortran代码,必须从python中使用 . 我决定做Fortran-> C-> Python接口 . 我遇到了一个问题:我在包含的Fortran模块中派生了类型 double precision, allocatable 输入成员 . 当我尝试用ifort编译时,我得到了(与gfortran类似): Each component of a derived type w...