FORTRAN模块与C++与Eigen 我是Fortran用户,是C++和EGIN的完整新手。我使用Fortran中的模块,以便能够将变量、数组和矩阵保存在不同的组中,并根据需要使用它们。如何在C++中实现Fortran中的模块思想,以便能够在不同的子程序

FORTRAN模块与C++与Eigen 我是Fortran用户,是C++和EGIN的完整新手。我使用Fortran中的模块,以便能够将变量、数组和矩阵保存在不同的组中,并根据需要使用它们。如何在C++中实现Fortran中的模块思想,以便能够在不同的子程序,c++,fortran,eigen,C++,Fortran,Eigen,FORTRAN模块与C++与Eigen 我是Fortran用户,是C++和EGIN的完整新手。我使用Fortran中的模块,以便能够将变量、数组和矩阵保存在不同的组中,并根据需要使用它们。如何在C++中实现Fortran中的模块思想,以便能够在不同的子程序之间传递数据?我不能粘贴整个FORTRAN代码,因为它太大,而且会有许多新概念,我想直接在C++中编写。也许,一个示例代码片段或文档显示了如何在C++例程之间传递信息是有用的。我想用C++做类似的事情,还有更多: !**************

FORTRAN模块与C++与Eigen

我是Fortran用户,是C++和EGIN的完整新手。我使用Fortran中的模块,以便能够将变量、数组和矩阵保存在不同的组中,并根据需要使用它们。如何在C++中实现Fortran中的模块思想,以便能够在不同的子程序之间传递数据?我不能粘贴整个FORTRAN代码,因为它太大,而且会有许多新概念,我想直接在C++中编写。也许,一个示例代码片段或文档显示了如何在C++例程之间传递信息是有用的。我想用C++做类似的事情,还有更多:

!*************************************************************************
!  **** module file: module.f95 ****
module global
save
integer, allocatable :: kod(:,:)
end module

module local
save
integer, allocatable :: kode(:)
real*8, allocatable :: func1(:)
integer pts
end module

module fileunits
save
integer,parameter :: file1 = 11, file2 = 12
end module
!*************************************************************************

! Main program
program main

use global
use local
use fileunits

implicit none

int i,j,k,n

open(unit=file1,file='input.dat')
open(unit=file2,file='output.dat')
read(file1, *) n,pts
allocate(kod(n,pts))
allocate(kode(pts), func1(pts))
do I = 1, n
   read(file1, *)  (kod(i,j),j=1,pts)
   do J=1,pts
      kode(j) = kode(i,j)
   end do
   call proc1
   write(file2,*)  ((func1(j), j =1, pts)

end do


end program

subroutine proc1
use local

implicit none
int j

do j=1,pts
   funct1(j) = kode(j) * kode(j)
   ...
   ...
end do

end subroutine

你好,欢迎。始终使用标记fortran。如果问题也是特定的,您可以添加特定于版本的标签。我不清楚您的问题。你是否开始只使用C++编程,你想知道如何做一些类似C++中使用名字空间的模块吗?@弗拉迪米尔:是的,我只在C++中编码,想知道C++中的代码是如何使用的,就像FORTRAN中使用的模块一样。或者尝试重写这个问题,这样你就更清楚你想要什么,吸引更多的C++程序员。标题建议您必须同时了解Eigen和Fortran才能回答问题,而事实是您不知道。