.| Autor | Beitrag |
|---|---|
|
000 18.03.2002, 19:21 WareWolf |
Es geht um die Grösse der ausführbaren Exe Datei bei C++ Programmierung. Ich bin Spracheinsteiger und hab ein kleines 32Bit Consolenprogramm geschrieben. Es werden 20 Reihen mit Zufallszahlen zwischen 1u.49 erzeugt und jeweils in einem Array abgelegt. Die Zahlenwerte werden der Grösse nach sortiert und auf dem Bildschirm ausgegeben. Ein typisches Anfängerprogramm also. Compiliere ich den Source mit MS VC++6.0 (und ich habe die Debug Optionen abgeschalten), dann ist die Länge der erzeugten Exe 129 KB. Compiliere ich jedoch die gleiche Quelldatei mit dem FreewareCompiler Bloodshed DEV-C++ dann ist die Exe jedoch nur 78KB gross. Da ich aus der Assembler Programmierung komme, bin ich in diesem Punkt ziehmlich penibel, immerhin ist das Microsoft Ergebnis fast doppelt so gross. Sig as a brick ┴┬┴┬┴┬┴┬┴┬┴┬┴ |
|
Profil || Suche |
|
001 18.03.2002, 21:41 Kriz |
Niemand weiß genau, was der VC++ COmpiler noch einbindet. Wenn ich die ganzen unsichtbaren M$-Deklarationen für Funktionen, Aufrufkonventionen ect. bedenke, dann kann es schon sein, das die EXE größer ist als bei anderen Compilern. Aber andererseits möchte ichzu bedenken geben, daß all dieses Extrazeugs für einen reibungslosen Ablauf unter Win eventuell wichtig ist. Angesichts der heutigen Zeit darf es aber einem Beside-Programmierer egal sein, wie groß die EXE im Endeffekt wird (ohne Debug natürlich). --K:R-I)Z++ |
|
Profil || Suche |
|
002 19.03.2002, 08:11 Sccar |
hast du als debug oder release version kompiliert? wenn du als debug version kompiliert hast, versuchs mal mit der release version, die sollte dann kleiner sein. sccar --...das is zwar der uebelst gehackteste kleine bastard, den ich je gesehen habe, aber dafuer sauschnell. {Tron} |
|
Profil || Suche |
|
003 19.03.2002, 08:33 WareWolf |
Oha, tatsächlich..ich hab die release Einstellungen nur an der falschen Stelle gemacht, hatte die "aktive Konfiguration" für das Projekt noch auf debug. Mein Fehler. Sig as a brick ┴┬┴┬┴┬┴┬┴┬┴┬┴ |
|
Profil || Suche |
|
004 19.03.2002, 18:56 Diablo_bth |
aber an der Sache ist schon was dran, dass M$VC++ manchaml unnötiges Zeugs einbindet. Man kann hier ein wenig mit /nodefaultlib:"bibliothek" in Prolekteinstellungen->Linker->ProjektOptionen am Linkerverhalten drehen. bei mir stand z.B.die "LIBCMTD" im Konflikt mit anderen Bibliotheken und als ich diese mit nodefault abserviert hatte war die .exe promt ein Drittel kleiner! -- |
|
Profil || Suche |

