Programme unter Linux größer als unter Windows

Alles rund um die Programmierung mit Qt
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Programme unter Linux größer als unter Windows

Beitrag von FlorianBecker »

Qt Programm ist unter Linux 2.0 MB und unter Windows 700 KB, warum ist das so?
Zuletzt geändert von FlorianBecker am 4. Oktober 2005 10:52, insgesamt 1-mal geändert.
lepsai
Beiträge: 573
Registriert: 14. September 2004 21:33
Wohnort: Berlin
Kontaktdaten:

Beitrag von lepsai »

unter win dynamisch gelinkt und unter linuh vielliecht statisch
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Hi,

nein, beides shared. Es ist genau die gleiche Konfiguration, alles das gleiche.
Zuletzt geändert von FlorianBecker am 4. Oktober 2005 10:52, insgesamt 1-mal geändert.
lepsai
Beiträge: 573
Registriert: 14. September 2004 21:33
Wohnort: Berlin
Kontaktdaten:

Beitrag von lepsai »

Welcher Compiler unter win und lin?
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

win: visual studio 7.0 wie der compiler heisst keine ahnung.
linux gcc, was sonst? :)
Zuletzt geändert von FlorianBecker am 4. Oktober 2005 10:52, insgesamt 1-mal geändert.
lepsai
Beiträge: 573
Registriert: 14. September 2004 21:33
Wohnort: Berlin
Kontaktdaten:

Beitrag von lepsai »

gcc läuft per default im Debug-Modus... Was haste denn beim kompilieren angegeben?

>gcc ?
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Ich bau die Qt Apps mit qmake, und dann nmake unter windows oder make unter Linux, das sollte also ohne Debug sein.
Template: App
Config += qt thread release warn_on
Oder so in der art und warn_on ist ja nur für compiler outputs.
Zuletzt geändert von FlorianBecker am 4. Oktober 2005 10:52, insgesamt 1-mal geändert.
lepsai
Beiträge: 573
Registriert: 14. September 2004 21:33
Wohnort: Berlin
Kontaktdaten:

Beitrag von lepsai »

ich würde aber trotzdem noch
DEFINES += QT_DLL
reinnehmen...
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Ok, das werde ich dann gleich mal machen.
Zuletzt geändert von FlorianBecker am 4. Oktober 2005 10:52, insgesamt 1-mal geändert.
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Ok, nun hab ich damit mal wieder rumgespielt. Es macht keinen Unterschied mit dem QT_DLL. Datei ist gleich groß wie vorher.
Zuletzt geändert von FlorianBecker am 4. Oktober 2005 10:52, insgesamt 1-mal geändert.
lepsai
Beiträge: 573
Registriert: 14. September 2004 21:33
Wohnort: Berlin
Kontaktdaten:

Beitrag von lepsai »

Na ja, dann ist es entweder eine Version mit den Debuginfos oder die Compileroptimierungen sind nicht eingeschaltet.
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

D. h. also es ist nicht möglich, das eine Windows exe mit dem gleichen Inhalt viel kleiner ist ein Binary unter Linux?
Zuletzt geändert von FlorianBecker am 4. Oktober 2005 10:53, insgesamt 1-mal geändert.
lepsai
Beiträge: 573
Registriert: 14. September 2004 21:33
Wohnort: Berlin
Kontaktdaten:

Beitrag von lepsai »

Der Größenunterschied ist eigentlich nur von der Güte der Compileroptimierungen abhängig. Und in diesem Punkt kannste gcc oder g++ eben nicht mit VS 7.0 vergleichen
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

g++ -c -pipe -Wall -W -O2 -D_REENTRANT -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -I/usr/share/qt3/mkspecs/default

so wird unter linux gebaut. Ja, das habe ich schon gemerkt, 20 min unter linux und weniger als 5 minuten bauzeit under win. dabei hasse ich win, aber zum bauen ist es echt fix.
Zuletzt geändert von FlorianBecker am 4. Oktober 2005 10:53, insgesamt 1-mal geändert.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

FlorianBecker hat geschrieben:Ja, das habe ich schon gemerkt, 20 min unter linux und weniger als 5 minuten bauzeit under win. dabei hasse ich win, aber zum bauen ist es echt fix.
MSVC ist nur so schnell weil es so ziemlich alles zulässt was man schreibt und Fehler teilweise gar nicht mitbekommt. Borland hingegen ist sauschnell und bekommt sogar noch alle Fehler mit die auch gcc anmeckern würde. MSVC ist in der Hinsicht einfach sch**** - schau einfach mal was passiert wenn du bei printf falsche argumenttypen angibst - bei msvc knallt es erst während (!) der Laufzeit wenn ich statt printf("%s",test.latin1()) nur printf("%s", test) hinschreibe (test ist vom Typ QString).
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten