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

C++ Newbie

Frischling

  • »C++ Newbie« ist der Autor dieses Themas

Beiträge: 34

Wohnort: Dortmund

Beruf: Schüler

  • Private Nachricht senden

1

04.02.2003, 15:06

Dll's erstellen ?

Unter Kapitelübersicht steht

Zitat

[list]Dynamisches Laden von Dll-Dateien für PlugIns[/list]

Steht im Buch den auch wie mann Dll's erstellt ?
Wer Rechtschreibfähler finded darf sie behählten

2

04.02.2003, 17:16

Ganz bestimmt, den das Buch ist ja für Anfänger wie mich gedacht.
Ich weiss zwar was man in dem VC++ machen muss um eine Dll zu erstellen, ich weiss aber nicht wo für die gut sind und wie man sie überhaupt benutzt.
ebah rutangiS reniem ni relheF 01 rebü hci ssad, etniem latkraF!

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

3

04.02.2003, 20:12

Ja, beides wird besprochen: sowohl was eine DLL-Datei ist und auch wie man sie erstellt (ist aber total einfach). DLL-Dateien sind fast wie EXE-Dateien, aber sie haben eben keine "main"- oder "WinMain"-Funktion. Sie sind einfach nur Funktions- und Klassensammlungen. Zum Beispiel könnte man alle Funktionen, die irgendwas mit Rendern zu tun haben, in eine Datei Render.dll packen. Das Hauptprogramm lädt die DLL dann und holt sich Zeiger auf die darin enthaltenen Funktionen und kann sie aufrufen. Als Programmierer merkt man davon normalerweise fast nichts. Es sei denn, man lädt eine DLL-Datei wirklich explizit, wie ich es im Buch bespreche...

4

05.02.2003, 11:48

Kann man den dann eine Dll nicht ganz einfach verändern. Ich meine ein Dritter. Oder wird die wie eine Exe kompiliert?
Heisst das auch das man mit Dll's Bibliotheken schreiben kann?
ebah rutangiS reniem ni relheF 01 rebü hci ssad, etniem latkraF!

C++ Newbie

Frischling

  • »C++ Newbie« ist der Autor dieses Themas

Beiträge: 34

Wohnort: Dortmund

Beruf: Schüler

  • Private Nachricht senden

5

05.02.2003, 11:59

Dll's werden kompiliert.
Dll's ("Dynamik Link Libary" glaub ich) sind Bibliotheken.
Wer Rechtschreibfähler finded darf sie behählten

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

6

05.02.2003, 12:28

Ja. Ich schrieb ja, dass DLL-Dateien praktisch EXE-Dateien sind, nur dass sie eben keine "main"- oder "WinMain"-Funktion haben (stattdessen haben sie eine "DllMain"-Funktion, die aufgerufen wird, wenn die DLL geladen oder entladen wird).
Der Unterschied zur LIB-Datei ist, dass DLL-Funktionen dynamisch geladen werden. Wenn Du eine EXE mit einer normalen LIB linkst, dann stehen später die ganzen verwendeten LIB-Funktionen mit in der EXE drin. Bei DLLs ist das nicht so: in der Programm-EXE stehen dann sozusagen nur "Verweise" auf die DLL. In der Form "Die Funktion "Direct3DCreate9" findest Du in der Datei D3D9.DLL".
Wenn Du eine Engine in eine DLL packst und Du einen Fehler entdeckst, reicht es später, einfach eine neue DLL zum Download bereitzustellen.

7

05.02.2003, 16:34

Achso das ist ja geil.
Echt cool muss ich sagen.
Aber wieso machen das die Prof. Spieleentwickler das nicht?
Die stellen auf die HP einfach ne exe die man dan halt einfach ersetzen muss.
ebah rutangiS reniem ni relheF 01 rebü hci ssad, etniem latkraF!

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

8

05.02.2003, 19:19

Da musst Du die professionellen Spieleentwickler schon selbst fragen - keine Ahnung... jedenfalls sehe ich da keine Nachteile, außer dass es ein wenig mehr Arbeit beim Programmieren ist.

Anonymous

unregistriert

9

10.02.2003, 18:08

Soweit ich weiss machen das die Professionellen Spieleentwickler anders herum(ich beziehe mich nen bisschen auf Quake 2 und 3). Die Haben große dlls für die Engine und eine für das Spielprinzip und die Exe ist relativ klein. Inwiefern da etwas ausgetauscht wird dann entschieden welche dlls ersetzt werden, wobei bei Spiele -updates auch oft texturen sounds usw. geändert werden. Und bei UT 2003 sind auch einige DLLS bei.

Anonymous

unregistriert

10

01.03.2003, 01:55

Soweit ich weiß packen die meisten großen Spiele Hersteller Ihre Engine in eine DLL, siehe z.B. die folgenden Spiele :

- Mafia (weiß ich jetzt nicht aus dem Kopf)
- Vietkong (Ptero-Engine-II)
- NOLF (Lithtech Engine) http://www.lithtech.com falls jemand
mal jemand neugierig ist
- Unreal (Unreal Engine)

um nur ein paar zu nennen.

Hier mehr zu NOLF + Engine
http://www.lithtech.com/press/pressreleases/2002_03_06.html

Werbeanzeige