DLL
-
Hallo.
Ich hab mich heute mit DLLs rumgeschlagen und versucht selbst so eine zu erstellen um sie dann in ein Projekt einzubinden. Leider ohne Erfolg
Ich habe, um das ersteinmal zu verstehen, mit dem Visual Studio eine Win 32 DLL erstellt. Habe dort eine Funktion geschrieben die einfach zwei int Zahlen addiert und das Ergebnis zurückgibt. Dann habe ich die DLL erstellt und es gab auch keine Fehlermeldung. Also stand mir nun die DLL und die LIB zur Verfügung.
Meine Frage ist nun, wie ich die DLL in das Projekt, in dem ich auf die Funktion zugreifen möchte einbinde?
MfG
helm
-
-
@dEUs
den link sollten wir mal in die FAQ stellen.Devil
-
Ob ich den Link zu dem Buch poste oder "FAQ!" bleibt sich gleich ... Guckt ja eh niemand in die FAQ, die Forumsüberschrift etc. *resigniert*
-
Auch wenn ihr mich gleich verflucht schlag und sonst was machen wollt
Ein sehr lobenswerten FAQ Aufbau findet man hier .
Hier kann man sehr schön suchen und auch was finden
@deus thx für den link zum Buch (es gibt leute die es doch noch lesen ; o )
-
Hi.
Dankeschön. Also den Link zu dem Buch hab ich auch schon gefunden. Hab das sogar als e-bookAber das hilft mir net wirklich weiter, weil das irgendwie so bissel bla bla ist. Ich glaub der zweite Link ist besser
Danke. Und: falls ich nicht voran komme, meld ich mich wieder
Tschö
-
2. link ?
Also wenn Du das meinst:
Ein sehr lobenswerten FAQ Aufbau findet man hier .
Das sind die [color=red]Borland[/color] FAQ's
-
Knuddelbär: Ich weiss, aber ich hab keine Zeit, die FAQ so schön zu sortieren. Ausserdem kein Plan, von dem Script, dass die anderen dazu zur Hilfe genommen haben
-
Mmh.
Also ich glaube ich mache immer noch was falsch. Vieleicht liegts auch daran, das ich die DLL falsch mache.Ich lege ein Win32-DLL Projekt an mit der Option "Einfaches DLL Projekt". Dann hab ich im Arbeitsbereich 2 Quellcode-Dateien: test.cpp und StdAfx.cpp sowie eine Header-Datei: StdAfx.h. Dann füge ich noch eine leere Headerdatei test.h ein. In die schreibe ich:
extern "C" int PASCAL EXPORT add(int a, int b);
In der Datei test.cpp schreibe ich dann die Defintion:
extern "C" int PASCAL EXPORT add(int a, int b) { return a+b; }
Dann kompiliere ich und es gibt Fehler:
C:\...\test.cpp(14) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'add'
C:\...\test.cpp(14) : warning C4229: Anachronismus verwendet : Modifizierer der Daten werden ignoriert
C:\...\test.cpp(14) : fatal error C1004: Unerwartetes Dateiende gefundenIch finde das seltsam, weil ich der Meinung bin, das das heute schonmal so geklappt hat. Ich glaube ich verzweifel daran noch. *grrrr*
Danke nochmals für Eure Hilfe.
-
mach es ohne Heder Datei
und oder versuch es soextern "C" __declspec(dllexport) int GibBA(int a , int b)
{
return a+b;
}
und dann in exe Datei so einbinden in Heder-Dateinextern "C" __declspec(dllimport) int GibBA(int a , int b)
und dann irgend wo abrufen
GibBA(2,3);
aha DLL in exe Debug kopierenevnt. noch lib einbinden vertig ;-))