如何将fortran exe与fortran dll联系起来



我想将我的fortran代码与此fortran made dll链接。

以简单的方式...

fortran程序(可编码代码)-link-- fortran dll(不可编辑)(通过fortran程序代码链接方法??)

我想制作一个我不想显示我的代码的程序(此部分将以DLL形式)。

例如:

我有一个Intel Fortran中DLL的代码,

SUBROUTINE TWICE(x,y)
IMPLICIT NONE
!DEC$ ATTRIBUTES DLLEXPORT::TWICE
REAL, INTENT(IN) :: x
REAL, INTENT(OUT) :: y
y=2*x
END SUBROUTINE TWICE

现在我想在另一个程序中使用此DLL。新程序是单独的程序,我想在下面写的英特尔·福特兰。


PROGRAM TestToCallDLL
IMPLICIT NONE
!DEC$ ATTRIBUTES DLLIMPORT::TWICE
REAL :: x,y
WRITE(*,*)'x?'
READ(*,*)x
CALL Twice(x,y)
WRITE(*,*)'x twice = ',y
END PROGRAM TestToCallDLL

错误是:

Error   1    error LNK2019: unresolved external symbol __imp__TWICE referenced in function _MAIN__  twiceTEST.obj   
Error   2    fatal error LNK1120: 1 unresolved externals    DebugtwiceTEST.exe 

编译器在链接过程中必须使用.DLL时生成的.LIB文件。将其添加为依赖关系。您也可以将其复制到新的项目目录。

请参阅Intel Fortran中的Visual Studio 2008从C 拨打Fortran DLL,以获取更多信息。

最新更新