Fortran: Lahey LF90: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
mNo edit summary |
||
Line 73: | Line 73: | ||
[[Kategorie:Hilfe]] | [[Kategorie:Hilfe]] | ||
[[Kategorie:DLL]] | [[Kategorie:DLL]] | ||
[[Kategorie:SMUSI]] |
Revision as of 03:05, 13 September 2007
Fortran Compiler Lahey LF90
DLL erstellen
Automake-Datei:
<fortran> QUITONERROR DEBUG FILES=*.for COMPILE=@lf90 -ap -chk -g -co -f90 -lst -pca -sav -stchk -trace -w -wo -xref -c %fi -DLL -WIN -ML WINAPI
LINK=@lf90 @%rf -dll -out %ex -ml winapi -fullwarn -g TARGET=Target.dll </fortran>
- TIP
- Es können mit LF90 keine Proceduren eines Moduls exportiert werden ! Deshalb eigene Subroutine/Funktion mit Modulproceduraufruf implementieren.
Gültige Schnittstellendefinitionen mit LF90 <fortran>
subroutine TEST_MODULE() USE MOD_BLABLA DLL_EXPORT TEST_MODULE call BLABLA_Procedure() end subroutine
subroutine TEST_dlL() DLL_EXPORT TEST_dll end subroutine
function TEST_FUNCT() LOGICAL :: TEST_FUNCT DLL_EXPORT TEST_FUNCT end function
LOGICAL function TEST_FUNCT2() DLL_EXPORT TEST_FUNCT2 TEST_FUNCT2 = .true. end function
LOGICAL function TEST_UEBERGABE_Z(Zahl) USE MOD_SCHNITTSTELLE DLL_EXPORT TEST_UEBERGABE_Z INTEGER Zahl TEST_UEBERGABE_Z = .true. end function
LOGICAL function TEST_UEBERGABE_C(str) USE MOD_SCHNITTSTELLE DLL_EXPORT TEST_UEBERGABE_C CHARACTER(1024) str TEST_UEBERGABE_C = .true. end function
LOGICAL function TEST_UEBERGABE_C2(str) USE MOD_SCHNITTSTELLE DLL_EXPORT TEST_UEBERGABE_C2 CHARACTER(*) str TEST_UEBERGABE_C2 = .true. end function
</fortran>
- TIP
- Aufpassen manchmal sind die exportierten Methdoden "case sensitive" !!!