Referenz - EXPORT
Syntax: {SUB | FUNCTION} foo ( Argumente ) [AS Datentyp] EXPORT
Typ: Klausel
Kategorie: Bibliotheken
Wenn eine SUB oder FUNCTION in einer dll/so mit der EXPORT-Klausel deklariert wurde, wird sie zur PUBLIC-EXPORT-Tabelle hinzugefügt, sodass sie von externen Programmen aus mit DYLIBSYMBOL verlinkt werden kann.
Beispiel: mydll.bas
' compiliert mit: fbc -dll mydll.bas (erstellt mydll.dll und libmydll.dll.a unter Win32,
' oder libmydll.so unter Linux)
DECLARE FUNCTION AddNumbers ALIAS "AddNumbers" ( _
BYVAL operand1 AS INTEGER, BYVAL operand2 AS INTEGER ) _
AS INTEGER
FUNCTION AddNumbers ( _
BYVAL operand1 AS INTEGER, BYVAL operand2 AS INTEGER ) _
AS INTEGER EXPORT
AddNumbers = operand1 + operand2
END FUNCTION
Beispiel: Testmydll.bas
'Hauptprogramm
' erstelle einen Funktionspointer
' Argumente sind dieselben wie in der DLL
DIM AddNumbers AS FUNCTION ( _
BYVAL operand1 AS INTEGER, BYVAL operand2 AS INTEGER ) _
AS INTEGER
DIM hndl AS ANY PTR
hndl = DYLIBLOAD("mydll.dll")
' Adresse des Programms finden
' (Groß-/Kleinschreibung beachten!)
AddNumbers = dylibsymbol( hndl, "AddNumbers" )
' Aufrufen
PRINT "1 + 2 ="; AddNumbers( 1, 2 )
DYLIBFREE hndl
SLEEP
Wichtig: Wenn Sie die ALIAS-Klausel nicht benutzen, verwendet FreeBASIC den von Ihnen angegebenen Programmnamen in Großbuchstaben.
Unterschiede zu QB: neu in FreeBASIC
Plattformbedingte Unterschiede: wird unter DOS nicht unterstützt
Unterschiede zu früheren Versionen von FreeBASIC: existiert seit FreeBASIC v0.11
Unterschiede unter den FB-Dialektformen:
In der Dialektform -lang qb steht EXPORT nicht zur Verfügung und kann nur über __EXPORT aufgerufen werden.
Siehe auch:
DECLARE, DYLIBLOAD, DYLIBSYMBOL,DYLIBFREE,
Module (Library / DLL)
Zusätzliche Informationen und Funktionen | ||||
---|---|---|---|---|
|