|
搞了很久才搞清楚如何二者混编,先上代码
Delphi中的:
[Delphi] 纯文本查看 复制代码 02 | Tvar= function (a: integer ;b: array of real ): real ;stdcall; |
04 | procedure TForm1 . Button1Click(Sender: TObject); |
11 | SetLength(sz,StrToInt(Edit2 . Text)); |
12 | for I := Low(sz) to High(sz) do |
15 | Memo1 . Lines . Add(FloatToStr(sz[i])); |
18 | onehandle:=LoadLibrary( 'D:\TestDll.dll' ); |
20 | if onehandle <> 0 then |
22 | shuzu:=GetProcAddress(onehandle, 'Sortandfindmax' ); |
28 | Edit1 . Text:=FloatToStr(myf(Length(sz),sz)); |
29 | for I := Low(sz) to High(sz) do |
30 | Memo2 . Lines . Add(FloatToStr(sz[i])); |
33 | FreeLibrary(onehandle); |
Fortran中的
[Fortran] 纯文本查看 复制代码 01 | FUNCTION SORTANDFINDMAX ( LENGTH , ARRAY ) |
03 | !DEC$ ATTRIBUTES DLLEXPORT::SORTANDFINDMAX |
04 | !DEC$ ATTRIBUTES STDCALL,ALIAS:'Sortandfindmax'::SORTANDFINDMAX |
05 | DOUBLE PRECISION :: ARRAY ( LENGTH ) |
07 | DOUBLE PRECISION :: SORTANDFINDMAX , TEMP |
08 | SORTANDFINDMAX = ARRAY ( 1 ) |
11 | IF ( ARRAY ( I ) .GT. ARRAY ( J ) ) THEN |
15 | SORTANDFINDMAX = ARRAY ( J ) |
哪位给指点一下,为什么需要将数组放在最后呢 |
|