matlab:mit_matlab_auf_eine_dll_zugreifen
Dies ist eine alte Version des Dokuments!
auf eine DLL von Matlab zugreifen
Um mit der Software Matlab auf eine DLL zuzugreifen, haben die Ersteller des Programms folgende Funktionen eingebaut:
- loadlibrary
- unloadlibrary
- libisloaded
- calllib
- libfunctionsview, libfunctions, …
Als Ausgangsbasis muss eine DLL Datei vorliegen, sowie eine dazugehörige Headerdatei mit der Endung *.h die die exportierten Funktionsaufrufe beschreibt.
Nun kann mit folgendem Aufruf die DLL geladen werden
strDLL = 'leere_DLL'; loadlibrary( strDLL );
zum Schließen wird
unloadlibrary(strDLL);
aufgerufen. Etwas ausführlicher, mit Prüfung ob die DLL schon (oder noch) geöffnet ist, sieht das so aus:
strDLL = 'leere_DLL';
%strDLL = 'hs3';
if ~libisloaded( strDLL )
loadlibrary( strDLL );
pause( 0.2 );
if ~libisloaded( strDLL )
error( [ 'Konnte die DLL nicht laden: ' , strDLL ] )
else
disp 'DLL geladen';
end
end
% eigener code
if libisloaded( strDLL )
unloadlibrary(strDLL);
disp 'DLL getrennt';
end
Der Zugriff auf eine Funktion geschieht dann wie folgt:
A=100 b=23 c = calllib(strDLL, 'AddNumbers', A, b)
matlab/mit_matlab_auf_eine_dll_zugreifen.1326269916.txt.gz · Zuletzt geändert: (Externe Bearbeitung)
