看起来似乎没有问题(在混编接口部分)。断点单步调试一下吧,也许是开源软件的事儿。
此外,你这种混编方法太老土了。有更新潮(主要是规范)的混编方式:
[Fortran] 纯文本查看 复制代码 module cprog
interface
integer function SWMMSTEP(elpTime) Bind(C,Name="swmm_step")
use , intrinsic :: ISO_C_Binding
real(kind=C_DOUBLE)::elpTime
end function
end interface
real(kind=8)::elpTime !全局变量
end module cprog
program F90useVCdll
use cprog
implicit none
integer::errorNum
do
errorNum=SWMMSTEP(elpTime)
if ((elpTime <= 0.0).or.(errorNum .ne. 0)) exit
enddo
end program F90useVCdll |