小编J. *_*eng的帖子

C++ 中的 Fortran 多维数组

我试图在 C++ Fortran 互操作程序中将多维 Fortran 数组传递给 C++ 程序。我对如何将数组从 Fortran 传递到 C++ 有一个基本的想法;您将数组的位置从 Fortran 传递给 C++。然后 C++ 采用扁平数组,你必须做一些代数计算才能找到给定多维数组中的元素。

我能够在标量数组上成功测试这个想法。在 C++ 中找出元素的索引并不难,因为它是从 Fortran 索引线性映射到 C++ 的,偏移量为 -1。Fortran 和 C++ 的示例代码是:

! Fortran main program
program fprogram

integer :: i
real*8 :: array(2)

array(1) = 1.0
array(2) = 2.0

! call cpp function
call cppfuncarray(array, 2)
write(*,*) array

end program
Run Code Online (Sandbox Code Playgroud)
! Fortran main program
program fprogram

integer :: i
real*8 :: array(2)

array(1) = 1.0
array(2) = 2.0

! call cpp function
call …
Run Code Online (Sandbox Code Playgroud)

c++ arrays fortran multidimensional-array fortran90

3
推荐指数
1
解决办法
2929
查看次数

标签 统计

arrays ×1

c++ ×1

fortran ×1

fortran90 ×1

multidimensional-array ×1