Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

$nooc

Alter Hase

  • »$nooc« ist der Autor dieses Themas

Beiträge: 873

Wohnort: Österreich / Kärnten

Beruf: Schüler

  • Private Nachricht senden

1

21.06.2008, 11:40

umgang mit DLLs

also wie man eine dll erstellt weiss ich .. import export funktioniert .. aber ich wüsste gerne wie das bei einem größeren projekt aussehen würde..

mal angenommen ich schreibe eine 3D engine. wenn ich diese in eine dll packen will, dann muss ich ein dll-projekt erstellen. aber wie kann ich dann den code der dll testen bzw. anwenden? muss ich dafür extra ein neues projekt erstellen in dem ich diese dll importiere oder wie funktioniert das?
sorry für diese noob fragen, aber ich hab keine erfahrung im umgang mit dlls kann aber ihre vorteile erahnen
Am Anfang der Weisheit steht die eigene Erkenntnis, dass man selbst nichts weiß! - Sokrates

Anonymous

unregistriert

2

21.06.2008, 12:18

Nun wie man das in großen Projekten macht ist ganz einfach und du findest direkt vor dir ein sehr gutes Beispiel dafür: COM.

Interface Design, womit Plug Ins ermöglicht werden.

grek40

Alter Hase

Beiträge: 1 491

Wohnort: Dresden

  • Private Nachricht senden

3

21.06.2008, 14:01

@nooc:
Richtig, um die Dll zu testen brauchst du eine Application, die die Dll nutzt. Wenn du ne Dll kompilierst kommt ja dieses Fenster, wo man ne Testexe auswählen kann - wenn du dort die Testapp auswählst kannst du dann die Teile der Dll debuggen, die von der App verwendet werden.

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

4

21.06.2008, 14:14

Oder einfach ein weiteres Projekt zur Solution hinzufügen und das neue Projekt vom Dll-Projekt abhängig machen.
@D13_Dreinig

$nooc

Alter Hase

  • »$nooc« ist der Autor dieses Themas

Beiträge: 873

Wohnort: Österreich / Kärnten

Beruf: Schüler

  • Private Nachricht senden

5

21.06.2008, 14:15

ich heiße "snooc" nicht "nooc" ...

achso ist das also .. ja die test exe geb ich wohl brav an, ich dachte nur ob das nicht vllt. etwas anders geht.. weil extra ne app schreiben die die dll verwendet erschien mir so umständlich..
Am Anfang der Weisheit steht die eigene Erkenntnis, dass man selbst nichts weiß! - Sokrates

Das Gurke

Community-Fossil

Beiträge: 1 996

Wohnort: Pinneberg

Beruf: Schüler

  • Private Nachricht senden

6

21.06.2008, 15:50

@ "Problem": Naja, du musst den Code in der DLL ja irgendwie ausführen, immerhin hat die kein Einstiegspunkt für einen "Kaltstart". Die DllMain ist eher für Sachen wie Referenzzählung (siehe u.a. COM) und so gedacht. Um den atemberaubenden Aufwand einer seperaten .exe wirst du also nicht rumkommen ;)

@ Name: Naja, du weisst schon, dass das '$' Zeichen unter anderem in PHP eine Variable einleitet? Ich hatte dich auch immer unter "nooc" abgeheftet ;)

Anonymous

unregistriert

7

21.06.2008, 23:17

Das Gurke
Also das DLL-Main was mit COM zu tun hat, höre ich jetzt zum ersten mal, vorallem da das alles aus einer Zeit besteht, wo noch kein Mensch an COM gedacht hat.

$nooc

Alter Hase

  • »$nooc« ist der Autor dieses Themas

Beiträge: 873

Wohnort: Österreich / Kärnten

Beruf: Schüler

  • Private Nachricht senden

8

22.06.2008, 12:12

nun ja jetzt ist es offiziell: ich heisse Snooc und nicht Nooc ^^

zum problem:

ich dachte halt dass es einfacher wäre in dem dll projekt ne "main" zu erstellen die die erstellte dll direkt importiert um diese dann anzuwenden.. das würde halt ein neues projekt sparen ^^

aber egal, es ist wie es ist, und ich wollte nur wisse ob es vllt. andere optionen usw. gibt 8)

danke leude
Am Anfang der Weisheit steht die eigene Erkenntnis, dass man selbst nichts weiß! - Sokrates

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

9

22.06.2008, 13:20

Zitat von »"$nooc"«


aber egal, es ist wie es ist, und ich wollte nur wisse ob es vllt. andere optionen usw. gibt 8)


Ja, wie gesagt, gibt es. Du hast zwei Projekte in deiner Solution (deine Dll und ein normales Testprojekt). Das Testprojekt ist als "Startupprojekt" definiert und ist abhängig von deinem Dll Projekt.
Damit reicht es dein Testprojekt zu kompilieren und auszuführen. Die Dll wird automatisch kompiliert und in den richtigen Ordner gepackt...
@D13_Dreinig

$nooc

Alter Hase

  • »$nooc« ist der Autor dieses Themas

Beiträge: 873

Wohnort: Österreich / Kärnten

Beruf: Schüler

  • Private Nachricht senden

10

23.06.2008, 21:02

achsou geht das.. ja das klingt schon einfacher .. werd mal guggen wie das geht .. danke :)
Am Anfang der Weisheit steht die eigene Erkenntnis, dass man selbst nichts weiß! - Sokrates

Werbeanzeige