Warum sind die Exe'en so groß ??
-
Moin,
als erstes: Sry wenns falsche Sparte ist, konnte mich nicht zwischen Compiler & C++ entscheiden.
Also:
Ich hab mit Dev-C++ ein kleines Programm geschrieben, dass eine einfache Rechnung vornimmt. Hier mal der Source:#include <iostream> using namespace std; void intro() { cout << "Mehrwertsteuer-Berechnungs-Programm" << endl; cout << "Bitte geben Sie den Nettowert ein: "; } float rechne(float x, float y) { return (x * y + x); } int main() { float wert, ergebnis; short int data; intro(); cin >> wert; cout << "Bitte geben Sie entweder 1 (fuer 16%) oder 2 (fuer 7%) ein:" << endl; cin >> data; if (data == 1) / ergebnis = rechne(wert, 0.16); else if (data == 2) ergebnis = rechne(wert, 0.07); else { cout << "Falsche Eingabe. Es wird mit 16% gerechnet !" << endl; ergebnis == rechne(wert, 0.16); } cout << "Bruttowert betraegt: " << ergebnis << endl << endl; system("PAUSE"); return EXIT_SUCCESS; }
Wenn ich das kompiliere, ist die Exe-Dateo 487 KB groß. Das gleiche Programm in Pascal geschrieben ist gerade mal 42 KB groß. Wieso ist das unter C++ so groß und wie bekomm ich die Exe kleiner ?
Thx
-
Hättest du dich für C++ entschieden wärst du hierüber geflogen:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-116733-and-start-is-0.htmlDas Thema gibt es auch sicher noch weitere zweihundert Mal.
-
wäre Compilerforum passender gewesen da hab ich das schon paar mal gelesen!
1. dynamisch linken und nicht statisch
2. es gibt auf Codeprojekt oder codeguru ne Klasse die heißt AggressiveOptimize google mal danach dann findest die schon und dann nutz mal die Forensuche im MFC Forum
-
@asdrudel: Also ich hab mir jetzt den Thread mal durchgelesen. Leider steht da nichts genaues. Wäre schon wenn du mir sagen könntest, welche (Compiler)-Einstellungen ich denn verändern muss...
Oder was ich sonst tuen kann.
(P.S.: Die Suche hatte ich schon vorher benutzt, aber kein relevantes Ergebnis wurde gefunden)
-
1. dynamisch linken und nicht statisch
Bloß wie ? Ich hab dazu in Dev-C++ keine Einstellungsmöglichkeit gefunden ....
-
drücke alt+F7 Registerkatrte General
und dort dann use MFC in a sherd DLL
-
ignoriere Polofreak...
-
warum??
-
Hab grad den Test mit meinem Projekt gemacht statisch gelinkt 663 552 Byte und dynamisch 352 256 Byte fast die hälfte!
naja wenn du willst dann ignoriere es, bei mir reduziert es sich sehr wohl dadurch ist ja auch logisch!
-
Polofreak schrieb:
drücke alt+F7 Registerkatrte General
und dort dann use MFC in a sherd DLLMoin, ich sehe keinen Grund dich zu ignorieren aber wenn ich "Alt"+"F7" drücke passiert nichts. Meinst du die Compileroptionen oder wie ? Ich rede von Dev-C++ 4.9.9.2....
-
Weil Polofreak von Visual C++ redet.
-
......... schrieb:
Weil Polofreak von Visual C++ redet.
*lol* Hab ich auch grad bemerkt.
Bloß wie kann ich das mit dem dynamisch linken im Dev-C++ einstellen, 487 KB für ein kleines Konsolenprogramm sind mir einfach zu viel.... Hilfe bitte
-
Ich hab jetzt auch verstanden warum du mich ignorieren sollst! Naja ich dachte du verwendest MSVC weiß nciht wie ich drauf komm aber irgendwie falsch gelesen. Sorry! Das funktioniert so natürlich nicht im Dev C++
wenn du linkst mach es so ähnlich
-[b]shared [/b]-o cosmo.dll
EDIT Ups etwas zu spät er hat es schon erwähnt.
@........ warum sagst du das nicht gleich sondern Pöbelst erst mal mit "ignorier Polofreak" rum?
Naja man kann nicht erwarten dass alle in einem Forum nett sind
-
-shared -o cosmo.dll
???
*heul*
-
Project Options/Compiler/Optimization/Further Optimization/
Best Optimization auf Yes
Project Options/Compiler/Linker/
Strip Executable auf Yes
-
[edit]zu spät[/edit]
-
asdrubael schrieb:
Project Options/Compiler/Optimization/Further Optimization/
Best Optimization auf Yes
Project Options/Compiler/Linker/
Strip Executable auf YesOk, vielen Dank erstmal.
-
Das das Programm so groß ist, liegt auch an den Iostreams,
die blähen leider den Code auf.