使用Visual Studio运行Fortran DLL

时间:2012-04-30 09:58:52

标签: visual-studio-2010 dll fortran dllimport intel-fortran

我使用Visual Studio 2010开发了一个网站。我想运行一个Fortran DLL。我使用Intel Visual Fortran创建.dll并测试如何使用它。我的代码是:

      SUBROUTINE SIMPSON (N,H,I)

     !DEC$ ATTRIBUTES DLLEXPORT, DECORATE, ALIAS : "SIMPSON" :: SIMPSON
     !DEC$ ATTRIBUTES REFERENCE::N
     !DEC$ ATTRIBUTES REFERENCE::H
     !DEC$ ATTRIBUTES REFERENCE::I
      INTEGER N,H,I

      I=N+H

      RETURN
      END

实际上需要两个整数,添加它们并返回结果。现在我有.dll我不知道如何使用Visual Studio运行它。任何知道的人都可以给我一些关注的步骤吗?

3 个答案:

答案 0 :(得分:2)

我一直这样做。我所做的是在调用项目(C#VB.NET)中我将.dll输出作为现有项添加到项目中,并带有Add as Link选项。然后我将其设置为在项目树中更新。

Add Item

Add As Link

Copy If Newer

最后,当您将二进制文件编译到bin/Debugbin/Release文件夹时,它会跟随二进制文件。

使用C#,然后使用[DllImport()] attrbiute,如下所示:

[DllImport("trex_pc.dll")]
static extern Simpson(ref int N, ref int H, ref int I);

有关详细信息,请查看我的this回答。

答案 1 :(得分:0)

您可以在IVF中创建一个Console项目并在DLL中链接。这可能需要生成包含对DLL的引用的.lib文件。我不是100%确定如何做到这一点,虽然它可能是为你自动创建的。

将图书馆链接后,您只需call simpson就可以了。

答案 2 :(得分:0)

您可以在dll属性页中使用Post-Build事件:

  • 在“解决方案资源管理器”中右键单击DLL项目
  • 转到构建事件 - 构建后事件
  • 命令行copy/y "$(OutDir)\$(ProjectName).dll" "$(SolutionDir)\bin\debug\" 每次构建DLL或解决方案时都会复制DLL。 目标位置可能不同。