kostenloser Webspace werbefrei: lima-city


Große programm eteilen?

lima-cityForumProgrammiersprachenC/C++ und D

  1. Autor dieses Themas

    adrians

    Kostenloser Webspace von adrians

    adrians hat kostenlosen Webspace.

    Hi!

    Wie w?rdet ihr gro?e Programme (z.B. Spiele) in Teile unterteilen?

    Also das nert ales ?ber eine Exe abl?uft?


    Danke im Voraus!
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hallo adrians,

    es kommt immer drauf an in welcher Programmiersprache du es schreibst, aber ich w?rde feste Werte in eine Configdatei schreiben lassen. Es gibt so viele M?glichkeiten.
  4. Ich weis nich was mit "unterteil meinst"? Bei gro?en Programmen w?rd ich bestimmte Funktionen in dll's packen z.B.: nem Spiel alles was zum Sound geh?rt da in ne extra dll dadurch wird die EXE kleine (nich das ganze Projeckt) und man kann Updates leichter machen weil nur einzelne Komponenten erneuert werden m?ssen das macht dann z.B. das Update kleiner weil nur eine dll erneuert werden muss. Ich hoff das meintst jetzt.

    in ne INI Datei feste werte? Feste werte sind f?r mich Konstanten "const int i = 5;" und die kann man nicht ?ndern also bestimmte Variablen kann man in Ini oder registry packen z.B. Strings f?r Texte wenn man z.B. was mit mehreren Sprachen macht oder die Fenstergr??e etc.
  5. Autor dieses Themas

    adrians

    Kostenloser Webspace von adrians

    adrians hat kostenlosen Webspace.

    Hmmm... klingt gut... DLL's.... klingt gut... INI's...kenn ich mich net mit aus!^^

    Was sind eigentlich *.sys dateien? Systemdateien...aber wie funzen die???
  6. .sys is eigendlich das gleiche wie ne DLL
    und ini sind wohl das einfachste Format um Daten zu speichern z.B.:
    [WINDOW]
    x=800
    y=600
    titel="Fenster"

    in ein solchem Format kann man so ziemlich alles speichern
  7. spiel unterteilen, technisch her:
    * netzwerk interface
    * opengl interface (openglapi <-> game)
    * sound interface
    * keyboard/mouse interface
    * gamecode in dll
    * rendercode in dll (models, maps, textures)
    * sprachen module in dll (also german, english translatings)
    * verschiedenes...

    so in etwa, oder nimm das valve's source-engine prinzip:
    dlls: vstdlib, materialsystem, tier0, dx9shaders, dx8shaders, engine, filesystem_stdio, filesystem_steam. steam...
    hauptprogram is dann ca. 80 kb gro?, das l?dt die dll-dateien in den speicher und startet halt..
  8. e*****r

    Hi,

    Ich w?re beim unterteilen in DLL's grade bei Spielen enorm vorsichtig! Jede nicht einkompilierte Funktion die ?ber DLL's aufgerufen wird kostet dich ne Menge Prozessorzeit (Bei Spielen z?hlt jedes Qu?ntchen!). Im Normalfall unterteilt man in Klassen und Komponenten! Die Komponenten werden dann meist mit sogenannten Interface bzw Wrapper Klassen miteinander verbunden! Au?lagerungen in DLL Dateien wie's z.B. bei Half-Life gemacht wurde, werden nur vorgenommen wenn man dem Benutzer die m?glichkeit bieten will auf den Source Code eines Spiels TEILWEISE einfluss zu nehmen.. so genanntes modding! models,maps und texturen geh?ren nicht in DLL Dateien und schon gar nicht in den Code! Sie werden meist in einem verbreiteten oder eigenen Bin?ren Format gespeichert das schnellen Zugriff erlaubt! Wie gesagt.. DLL Zugriffe minimal halten! Und vor allem alles in Klassen unterteilen und vorher abstrakt aufzeichnen (Kein Code sondern ein Modell erstellen!).


    Elandir
  9. Hast du schonmal an includes gedacht? Damit k?nntest du zumindest den Code ?bersichtlicher gestalten. Aber wenn du dann das Programm compilierst, wird es ja trotzdem eine Datei.
    Du solltest wirklich mal deine Frage etwas genauer definieren!

    mfg,
    direx

  10. Hi,

    Ich w?re beim unterteilen in DLL's grade bei Spielen enorm vorsichtig! Jede nicht einkompilierte Funktion die ?ber DLL's aufgerufen wird kostet dich ne Menge Prozessorzeit (Bei Spielen z?hlt jedes Qu?ntchen!). Im Normalfall unterteilt man in Klassen und Komponenten! Die Komponenten werden dann meist mit sogenannten Interface bzw Wrapper Klassen miteinander verbunden! Au?lagerungen in DLL Dateien wie's z.B. bei Half-Life gemacht wurde, werden nur vorgenommen wenn man dem Benutzer die m?glichkeit bieten will auf den Source Code eines Spiels TEILWEISE einfluss zu nehmen.. so genanntes modding! models,maps und texturen geh?ren nicht in DLL Dateien und schon gar nicht in den Code! Sie werden meist in einem verbreiteten oder eigenen Bin?ren Format gespeichert das schnellen Zugriff erlaubt! Wie gesagt.. DLL Zugriffe minimal halten! Und vor allem alles in Klassen unterteilen und vorher abstrakt aufzeichnen (Kein Code sondern ein Modell erstellen!).


    Elandir


    Man kann darauf vorsichtig reagieren indem man einfach die DLLs dynamisch aufruft also mit LoadLibrary und GetProcAddress hier wird dann die DLL auch erst geladen wenn sie gebraucht wird nich wie bei dllimport. Du kannst dir ja auch mal angucken welche DLLs son Programm schon ohne dein eingreifen importiert das kann man unter win98 mit QuickView ansonsten mit DEPENDS das aber leider nur mit VC++ ausgelievert wird.

    *EDIT* Zum Beispiel Enclave funzt so hier is die eigendliche Grafikengine die RndrD3D8.dll und MSystem.dll is f?r Input und Sound zust?ndig.

    Beitrag ge?ndert am 24.07.2005 13:18 von funkdoobiest
  11. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!