Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从c调用fortran代码#_C#_Fortran - Fatal编程技术网

C# 从c调用fortran代码#

C# 从c调用fortran代码#,c#,fortran,C#,Fortran,A有很多用FORTRAN 77编写的代码。我想开始用c#开发,使用这些代码。我该怎么办 将FORTRAN DLL导入托管代码 转换代码 对于每一个选项,你能告诉我怎么做吗。第一个有性能问题吗 谢谢。如果您有很多非托管代码而没有时间迁移,那么选项1是很好的。如果这样做,请确保对非托管方法执行尽可能少的调用,即使这些调用涉及发送更大的参数/结果,因为托管/非托管世界之间的封送可能会损害性能 选项2很好,您将最终将所有内容转换为托管代码。假设此代码编写正确,它的执行速度至少可以与非托管代码一样快。有一

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

  • 将FORTRAN DLL导入托管代码
  • 转换代码
  • 对于每一个选项,你能告诉我怎么做吗。第一个有性能问题吗


    谢谢。

    如果您有很多非托管代码而没有时间迁移,那么选项1是很好的。如果这样做,请确保对非托管方法执行尽可能少的调用,即使这些调用涉及发送更大的参数/结果,因为托管/非托管世界之间的封送可能会损害性能


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

    有一个商用Fortran.net编译器

    请参阅。我会选择选项1。在大多数情况下,如果您使用Fortran进行数字运算,它将减少工作量并产生更好的性能。

    我支持Achim。例如,AMD正在开发和支持一个用FORTRAN 90编写的带有C风格接口的应用程序。使用FORTRAN 77 YMMV

    哇,这可能很有用,我在哪里可以找到它?