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

Anonymous

unregistriert

1

31.03.2004, 14:21

Wieso werden Programme grösser als Quelcode?

Hallo,

Alle von mir geschriebenen Programme haben eine Größe von 1,4 MB, obwohl ich nur ein paar Zeilen getippt und d3dx9.h eingebunden habe.
Und Nummer zwei: Meine Programme schließen zwar die Fenster, aber das Programm ist weiterhin als Prozess angezeigt.

WAS MACHE ICH FALSCH??? :help:



mfg

döna

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

2

31.03.2004, 14:47

Die größe deines Programmes liegt daran, das du DirectX 9 eingebunden hast, und sicherlich auch noch Windows.. Header und so was. Die werden ja includiert ;D , und deinem Programm hinzugefügt. + deinem eigenen Code. Außerdem liegt die "große" Größe an dem Modus. Wenn du DEBUG eingestellt hast, bindet VS von sich selber aus weiteren "Code" ein für den Debug Modus. Beim Release Modus entfallen diese zusätzlichen Daten, da müsste dein Programm auch wesentlich kleiner sein ( <= 300kb. ja nachdem was du noch includiert hast und die Größe deines Codes)

zu 2.) Dein Programm läuft weiter, wenn du ein Fenster vorher erstellt hast und es später wieder beendest, das ist ja auch klar. ein Beispiel:

Programm-> Fenster erstellt
Programm -> Fenster geschlossen
Porgramm -> Berechnungen durchführen
Programm -> Neues Ausgabefenster....

Dein Programm wird nur beendet, wenn du alle Thread's beendest. z.B. WinMain ist selber schon ein Thread oder Prozess. Solange Win Main nicht beendet wird (durch return) läuft der dann auch weiter.

*hoff* das alles korrekt ist ;D :huhu:

Anonymous

unregistriert

3

31.03.2004, 17:24

Jo das stimmet schon.
Wahrscheinlich das selbe prob wie es auch dieser Post behandel: http://www.scherfgen-software.net/forum/viewtopic.php?t=1784 :huhu:

Patrick

Alter Hase

Beiträge: 1 264

Wohnort: Düren

Beruf: Fachinformatiker für Anwendungsentwicklung

  • Private Nachricht senden

4

31.03.2004, 20:08

Hi,

bitte bitte lest euch das mal durch, für die auswahl des Titels:
http://www.lugbz.org/documents/smart-questions_de.html

Denn viele können mit "Problem?" absolut nix anfangen und es kommen oft so auch weniger Antworten.

Anonymous

unregistriert

5

01.04.2004, 10:15

Ich kann Patrick nur zustimmen.

Habe diesen Threadtitel geändert.

6

01.04.2004, 15:10

Wenn er den Debug Modus benutzt wird D3DX nicht eingebunden sondern liegt als DLL vor. Nur die Release Version liegt als Lib vor und wird in das Programm eingebunden. Aber selbst dann wird das eigene Programm nicht auf 1,4MB aufgeplustert.

An den Windows Headern liegt das Fakto auch nicht. Da hier der meiste Code nur für die Symbol da sind, damit man die WinAPI nutzen kann. Der Code der im Programm landet ist sehr klein und sorgt im Debug Modus höchstens für ein paar KByte.

Schau mal in den Einstellungen nach. Gibt es dort vieleicht ein paar LIB's die du zusätzlich einbindest, die sehr groß sind?
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

7

01.04.2004, 18:40

Dragonmaster, irgendwie kann ich dich hier mal nicht verstehen ;D und zwar mein ich die Sache mit Direct X. Der Benutzer des Programmes xyz MUSS ja DirectX Version Y auf seinen Rechner installiert haben - und damit auch die DLL's. Wenn das Programm die gesammte Direct X Bibliothek ja einbinden würde, Würde das Programm in Debug Modus ja kleiner sein... was bei mir aber wirklich NIE der Fall ist! Außerdem bracht der Benutzer auch nicht Direct X installiert zu haben.. die Bibliotheken leigen ja im Programm selber bei ?!?

Und das mit den Windows Header... ok stimmt ;D aber es sind immhin 2kb LOL :huhu:

8

01.04.2004, 20:21

Ich kann ja nicht dafür das es so ist. Die Debug Version der D3DX Bibi liegt in der Datei d3dx9d.dll. Es macht also keinen Sinn den Code einmal in eine DLL zu packen und dann noch einmal in eine Lib.
Zumal denke ich das eine Lib nicht komplett in den Code eingefügt wird wenn man nur die hälfte verwendet. Ich denke das hier die Linker ein wenig Optimierung durchführen werden.


Zudem denke ich das er seine EXE oder DLL mein und nicht das komplette Packet damit das Prog läuft. Denn dann kommt er nicht mit 1,4MB aus ;)
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

9

01.04.2004, 20:36

Ich bins nochmal :) es verwundert mich nur etwas.. bis jetzt dachte ich immer es gäbe 2 DLL's eine für den DEBUG Modus D3DX9D.DLL und eine für den RELEASE Modus D3DX9.DLL . so wie bei der Tribase Engine. Aber ich sehe gerade du hast recht... OK ;D :huhu:

Werbeanzeige