David.C.J 发表于 2024-6-29 22:46:00

如何建立C#与Fortran的module内存区的数据共享

1.老版本的Fortran与C++进行全局变量的共享赋值是采用common的方式,现在f90之后开始摒弃common的方法,推荐采用module进行全局变量的管理;2.C#在调用Fortran的dll时候采用import的方式即可实现;
3(重点)如果Fortran程序的变量比较多,dll中的函数头也较多,且全局变量均在module中定义共享,是否有一种办法,直接将module内的public变量全部采用内存块的方式被C#读取并建立内存共享,实现dll的计算与C#界面的交互;
求助做过类似的方法,module内的变量以矩阵数组、双精度为主,变量个数在200个左右。




fcode 发表于 2024-6-30 08:35:41

没有实现你想法的方法呢。变量数量多,可以考虑用结构体代替。

David.C.J 发表于 2024-7-10 22:38:00

fcode 发表于 2024-6-30 08:35
没有实现你想法的方法呢。变量数量多,可以考虑用结构体代替。

对的 C与Fortran的结构体我找到了类似的模板
但是C#与Fortran的结构体我暂时没找到 您这边有模板吗
页: [1]
查看完整版本: 如何建立C#与Fortran的module内存区的数据共享