请教c# 调用fortran module
c++ 可以直接调用fortran 的module 参数比如:
c 函数
#include "stdio.h"
extern void fortranfunction();
extern float aa;
int main()
{
printf("hello world from C\n");
fortranfunction();
printf("%f %f %f \n", aa, aa, aa);
return 0;
}
fortran 函数:
module myModule
use,intrinsic :: iso_c_binding
implicit none
real(C_FLOAT), bind(C,name ="aa") :: aa(3)
contains
subroutine fortranFunction() bind(C,name = "fortranfunction" )
print *,"hello world from Fortran 90"
aa(1)=1.0;
aa(2)=2.0;
aa(3)=3.0;
end subroutine
end module
直接用静态库lib 调用就可以。
c# 这样调用函数可以。可是aa一直是0
不知道c#能否和c++ 一样直接调用fortran 中的module 外部变量,比如aa?还是aa必须作为子程序参数才能调用?
谢谢
请问楼主找到解决的办法了吗
我这边也碰到想采用module的方式进行内存区域的共享赋值
之前C++与Fortran的内存映射采用的时common方式
页:
[1]