从c#调用fortran代码

时间:2011-06-08 22:07:10

标签: c# fortran

A有很多用FORTRAN 77编写的代码。我想用c#开始使用该代码进行开发。我该怎么办?

  1. 将FORTRAN DLL导入托管代码
  2. 转换代码
  3. 对于每个选项,您能否告诉我该怎么做。第一个是否有任何性能问题?

    谢谢。

4 个答案:

答案 0 :(得分:5)

http://msdn.microsoft.com/en-us/library/26thfadc.aspx。我会选择选项1.在大多数情况下,假设您使用Fortran进行数字运算,它将减少工作并产生更好的性能。

答案 1 :(得分:3)

有一个商业Fortran .net编译器

答案 2 :(得分:3)

我支持Achim。例如,AMD正在开发和支持用FORTRAN 90编写的linear algebra toolkit,它具有C风格的接口。 FOR FORTRAN 77 YMMV

答案 3 :(得分:2)

如果你有很多非托管代码没有时间迁移,那么选项1就很好。如果你走这条路线,确保尽可能少地调用非托管方法,即使这些调用涉及发送更大的参数/结果,因为托管/非托管世界之间的编组可能会损害性能。

选项2没问题,您最终会将所有内容转换为托管代码。假设此代码编写正确,它的执行速度至少与非托管代码一样快。