DLL, EXE oder Statische Lib?
-
Hi,
ich bin grad am überlegen wie ich meine engine aufbaue, soll ich sie in ne DLL stopfen, in eine Statische Lib oder alles in die exe?
Wo sind vor und nachteile?
-
Bitte schließen. Ist genauso eine dumme Frage wie OpenGL oder DirectX. 1000 mal gefragt - 1000 mal beantwortet.
-
gut dann gib mir link und reg dich mal
-
stimmt wurde schon oft gefragt, aber steht auch nix in der faq.
ich würde behaupten das es geschmackssache ist.
ich bevorzuge eine exe wobei teile meiner (nie fertig werdenen
) engine dll's sind zb: font, gui, usw....
-
"alles in die exe" auf keinen fall :p
-
wir haben hier im forum ne rot markeirte suchfunktion, damit findet man dann auch sowat
rapso->greets();
-
ich hab's net gefunden *schäm*
-
Eine EXE würde ich dir nicht empfehlen. Mach 'ne statische Lib und später kannst du dann daraus immer noch eine DLL machen. Kommt allerdings auch drauf an wie du dein Interface aufbaust.
-
Hmmm mir gefällt aber das System von HL ganz gut. Da ist, meines Wissens, sowohl Engine als auch und das Game als DLL angebunden... Zusammengehalten wird das Ganze von einer netten EXE... Das ermöglicht dann auch das Modding auf eine bequeme Art und Weise...
-junix
<edit>Deutsch für Du Anpassungen (o:</edit>
[ Dieser Beitrag wurde am 01.07.2003 um 13:48 Uhr von junix editiert. ]
-
*JUNIXzustmm*
rapso->greets();
-
*vom thema abweich*apropos hl+modding...hat da einer von euch tuts? (@rapso + junix)
mfg
Desire
-
Bei einer DLL mag ich es nicht das man auch immer die DLL mitgeben muss. Ich mach es immer mit stat. Libs.
-
da ich eh immer viel mitgebe, ist eine dll nicht die welt
dll's find ich schön, weil man immer die richtige nachladen kann z.B. wenn man dem user die wahl zwischen ogl oder d3d lässt und dann nur noch die richtige wrapper dll laden muss.
und bei zig dlls koennte die exe auch ziemlich aufgeblächt werden.
bei statischen hat man wohl den grossen vorteil, dass man nicht die falsche version der lib aus versehen nutzen kann.
rapso->greets();
-
Also an einer dll kann ich erstmal nur einen Vorteil erkennen, kürzere Compilezeiten. Oder sagt mal noch einen entscheidenden 2.
-
@TGGC
Gib mal deine statische Engine-LIB einem Bekannten mit, um sie zu verwenden!
-
Original erstellt von TGGC:
Also an einer dll kann ich erstmal nur einen Vorteil erkennen, kürzere Compilezeiten. Oder sagt mal noch einen entscheidenden 2.Original erstellt von rapso:
dll's find ich schön, weil man immer die richtige nachladen kann z.B. wenn man dem user die wahl zwischen ogl oder d3d lässt und dann nur noch die richtige wrapper dll laden muss.
-
Original erstellt von RenéG:
@TGGC
Gib mal deine statische Engine-LIB einem Bekannten mit, um sie zu verwenden!Wieso kann ich die *.lib nicht weitergeben?
rapso: Das kann ich doch genauso ohne dlls machen. Dann müsste ich nicht mal was "laden".
-
*mitflame*
und bei zig dlls koennte die exe auch ziemlich aufgeblächt werden
egal ob lib oder dll. wen interessiert die paar kb-mb denn schon? eine "normale" 3d-engine wird wohl im bereich 500kb-2000kb liegen. wenn interessiert es denn nun, ob die ein oder 2 oder 3 mal au der platte liegt oder die exe entsprechend 2, 4 oder 6 mb groß ist? ich habe 800 GB an speicherkapazität (4 x 200GB) wenn interessierren denn da noch 10 MB???
ausserdem hat doch eh jeder heutzugate DSL (56k modems sind out!) so das ein paar mb dl kein problem mehr darstellen!
dll's find ich schön, weil man immer die richtige nachladen kann z.B. wenn man dem user die wahl zwischen ogl oder d3d lässt und dann nur noch die richtige wrapper dll laden muss.
das funktioniet auch prima ohne dll's, indem man einfach beides gleichzeit in die exe packt. es ist also kein "MUSS".
ansonsten finde ich die diskussion schwachsinnig. jeder soll das machen was im gefällt. (-> was ist besser opengl oder directx?
)
-
kürzere linkzeiten!
-
<senfdazugeb>
In statische LIBs kann man Klassen packen, in DLLs nicht.Jetzt antwortet bestimmt gleich wieder einer: "Doch man kann."
DLLs sind aber NUR für C oder vergleichbare Sprachen entworfen worden. C++ wurde in diesem Konzept nie berücksichtigt. Klassen gehören einfach woanders rein.
</senfdazugeb>