建议用 ISO_C_Binding 实现混编。
不要用 stdcall
不要用 !DEC$ ATTRIBUTES STDCALL,ALIAS:'start'::start
不要用固定格式
建议用 implicit none
[Fortran] 纯文本查看 复制代码 SUBROUTINE start(nvacs,nint,ns,nm,nmat,nnbrs,nlcx,nlcy,nlcz,nlc) Bind(C,Name="start")
!DEC$ ATTRIBUTES DLLEXPORT::start
implicit none
integer , value :: nvacs,nint,ns,nm,nmat,nnbrs,nlcx,nlcy,nlcz,nlc
! include 'para.inc'
real(kind=8),dimension(nm):: x0,y0,z0,xorg,yorg,zorg,stry,strz
然后,你就当 C语言函数在C#里调用就好了 |