718 kb .exe datei - nur ein Fenster ohne alles o_0



  • Martin Richter schrieb:

    Du missversehst mich. Ichmeine die DLLs die das System zwangsweise eben mit Deiner Applikation einbindet. Das hat gar nichts mit Deinen Headern zu tun.

    Schau Dir doch mal bitte DEPENDS.EXE an!

    Die entsprechenden DLLs, di in Deinen Speicher geladne werden sind eben da und notwendig.

    Was ist Dein Problem mit 750KB oder mehr oder weniger?

    wenn ich schon C schreibe und nicht java dafür nehme will ich kleine programme coden. Warum hast DU denn ein Problem damit, sollte doch meines sein?? Und nein asm rechtfertigt das Nutzen-/Aufwandsverhältnis nicht... Ich habe alles auf C:\ abgesucht und finde keine depends.exe im speicher ist sie auch nicht geladen, wo ist diese datei?

    warum geht der server mehrmals am tag offline? Ich schreibe was wills abschicken und zapp "die site kann icht angezeigt werden" ? Das Problem habe ich nur mit dem c-++.de forum.




  • Mod

    Ansonsten gehört DEPENDS.EXE zum Lieferumfang von VisualStudio.

    Nochmal: Die Größe Deines Programmes hängt einfach auch davon ab, welche DLL's sie verwendet und welchen Speicher die einfach allokieren...

    Wnen Du meinst ein JAVA Programm würde weniger Speicher weg nehmen, dann irrst Du Dich. Es ist vieleicht in der Größe der EXE kleiner. Alleridngs wird hier ja auch die ganze Runtime nachgeladen, gleiches gilt für .NET Programe.
    Ganz zu Schweigen von deren dynamischen Speicherhunger.



  • Martin Richter schrieb:

    Ansonsten gehört DEPENDS.EXE zum Lieferumfang von VisualStudio.

    Nochmal: Die Größe Deines Programmes hängt einfach auch davon ab, welche DLL's sie verwendet und welchen Speicher die einfach allokieren...

    Wnen Du meinst ein JAVA Programm würde weniger Speicher weg nehmen, dann irrst Du Dich. Es ist vieleicht in der Größe der EXE kleiner. Alleridngs wird hier ja auch die ganze Runtime nachgeladen, gleiches gilt für .NET Programe.
    Ganz zu Schweigen von deren dynamischen Speicherhunger.

    Ich habe Visual Studio nicht, werde mir aber mal die express version laden mit dem intel compiler um vergleiche mit dem gcc zu haben. Die vergleiche basieren dann auf dem fertig programm natürlich nicht dem leeren fenster 😉

    Natürlich sind java programm so fett wegen der runtime siehe task manager java.exe etc. die eigene programm.exe ist ja extra angezeigt, wobei auch die ziemlich fett ist für einen mp3 player den ich nun in C coden möchte. es ist schon ein unterschied ob die mp3.jar 12 mb hat oder 2 mb im RAM , wenn C dann im hinblick auf größe und speed sonst kann ich gleich java nehmen.



  • Pelle schrieb:

    Natürlich sind java programm so fett wegen der runtime

    bei c-programmen ist das genauso "natürlich", denn auch die brauchen idR eine laufzeitbibliothek.

    und "nur ein fenster ohne alles" ist auch schon eine ganze menge, was den speicherbedarf rechtfertigen kann. möglicherweise legt windows einen pixelbuffer für den inhalt deines fensters im adressraum des prozesses an, und schon sind ein paar hundert k weg. es ist eine übliche strategie, bessere geschwindigkeit durch höheren speicherverbrauch zu erlangen.

    schreib dir doch einfach mal ein kleines programm, dass nichts weiter tut als

    int main() { while(1); }
    

    und schau, was dabei rauskommt.

    außerdem könnte es auch gut sein, dass du nun noch viele tausend zeilen code dazuschreibst ohne dass der speicherverbrauch ansteigt, weil die rtl vielleicht schon im voraus speicher reserviert (reine spekulation).

    du solltest dich nicht mit optimierung deines programmes rumschlagen wenn du noch nicht mal angefangen hast zu programmieren. 700 k sind übrigens nicht wirklich beanspruchend für einen modernen computer mit windows.







  • Mich würde interessieren was du dich um die paar kB Speicher kümmerst. Also heutzutage sind die meisten Computer mit genügend RAM ausgestattet. Du hast keinen Plan für was Headerdateien benötigt werden und weist nicht wie DLLs entstehen, machst dir aber Gedanken wegen der Speicheroptimierung deiner Programme. Dann postest du einen haufern Quellcode den du nicht interpretieren kannst. Vieleicht solltest du ertmal die Grundbegriffe der Programmierung lernen.



  • Initial sind die exen vielleicht bisschen gross, allerdings wachst das Compilat ja nicht exponentiell mit 😉

    D.H. wenn du 200 Zeilen schreibst kanns vielleicht 700k haben, was aber nicht bedeutet, dass ein 400 Zeilen Programm auf einmal 1400k haben wird, sondern nur unwesentlich mehr als die 700k -> ausser du verwendest im 400 Zeilen Programm zusätzliche Bibliotheken im Vergleich zum 200 Zeilen Programm.



  • Haste Worte? schrieb:

    Mich würde interessieren was du dich um die paar kB Speicher kümmerst. Also heutzutage sind die meisten Computer mit genügend RAM ausgestattet. Du hast keinen Plan für was Headerdateien benötigt werden und weist nicht wie DLLs entstehen, machst dir aber Gedanken wegen der Speicheroptimierung deiner Programme. Dann postest du einen haufern Quellcode den du nicht interpretieren kannst. Vieleicht solltest du ertmal die Grundbegriffe der Programmierung lernen.

    Mich würde interessieren warum du dich dafür interessierst, was andere nicht zu interessieren hat? Wer hat denn behauptet, dass er den quellcode interpretieren muss? Es gibt genug Situation in denen man alle 4 GB RAM verrendert und nebenher anstatt eines 15 MB players 14 MB sparen möchte... nach deiner KB Aussage kann man ja gleich java nehmen...

    Pelle


  • Mod

    Da aber gleiche DLLs im Speicher geshared werden mit anderen Prozessen, die selben DLLs verwenden ist es manchmal besser Speicher durch gesharte große LIbs zu "verschwenden" anstatt diese durch statisches linken zu sparen!

    Wenn zwei Prozesse z.B. gleichzeitig die MFC DLLs verwenden oder die gleiche CRT. Dann lohnt statisches Linken bereits nicht mehr!

    Und das ist eben nicht messbar anhand der Exe Größe oder der Größe die ein Prozess braucht. Die Hintergründe sind weitaus komplexer.


Anmelden zum Antworten