首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在C#中导入fortran

在C#中导入fortran
EN

Stack Overflow用户
提问于 2013-08-07 11:57:40
回答 1查看 722关注 0票数 1

我很难将我的dllwrap-ed Fortran代码导入C#。我确实在做一些比我在这里展示的例子更复杂的事情,但是我想让这个简单的例子起作用,然后解决这个全面的问题。我正在与MinGW和MSYS合作。

下面是我的fortran代码,在MyThreeDll.f文件中:

代码语言:javascript
复制
  integer function three()
     three = 3
     return
  end function

然后,我使用一个MyThreeDll.o文件的预期输出运行gfortran -c MyThreeDll.f。我运行的下一个命令是

dllwrap --export-all-symbols MyThreeDll.o -gfortran -o MyThreeDll.dll

得到一个dll文件。然后,我移到Visual 2010中的C#控制台项目的文件夹中,并将其添加到项目中(它绝对不允许我将其添加为引用),并尝试运行它。然后就会发生这种事。

我试过用gfortran -shared创建dll,但没有帮助。在函数名之前和/或之后添加下划线也没有帮助。所以现在我被困住了,因为这是谷歌引领我前进的道路。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-07 12:23:24

汉森的评论解决了我的问题。对于后代,我应该补充一点,如果我使用选项--output-def MyThreeDll.def运行--output-def MyThreeDll.def命令,除了所有其他内容之外,我将得到一个.def文本文件,其中包含函数的最终名称,即three_(),而不是three()

显然,这是在gfortran的帮助下做的,而且据说可以用选项来改变,尽管我既没有精力,也没有必要去寻找方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18102786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档