我试图从C调用FORTRAN函数
我的问题是:
如果fortRoutine是我的fortran子程序的名称,那么我从C中调用它fortRoutine_.如果fortRoutine只包含一个字符数组参数,那么我可以像这样传递:
fortRoutine_("I am in fortran");
Run Code Online (Sandbox Code Playgroud)在调用FORTRAN子例程时,何时应该使用pass by值和何时通过引用传递?
由于我是C的新手,我对此并不了解.如果可能的话,请提供一些很好的教程链接.
码:
program CheckEquivalence
integer*8 intarray(4)
real*8 realarray(4)
equivalence(realarray,intarray)
realarray(3) = 3
intarray(4) = 4
realarray(1) = 1.0
realarray(2) = 2.0
do i = 1,4
write(,) 'All real ', realarray(i)
enddo
do i = 1,4
write(,) 'All int ', intarray(i)
enddo
do i = 1,3
write(,) 'Some real ', realarray(i)
enddo
write(,) 'Last int ', intarray(4)
end
Run Code Online (Sandbox Code Playgroud)
输出是:
All real 1.
All real 2.
All real 3.
All real 1.97626258E-323
All int 4607182418800017408
All int 4611686018427387904
All int 4613937818241073152
All int …Run Code Online (Sandbox Code Playgroud)