Seite 1 von 2

Programme unter Linux größer als unter Windows

Verfasst: 2. Dezember 2004 11:16
von FlorianBecker
Qt Programm ist unter Linux 2.0 MB und unter Windows 700 KB, warum ist das so?

Verfasst: 2. Dezember 2004 11:29
von lepsai
unter win dynamisch gelinkt und unter linuh vielliecht statisch

Verfasst: 2. Dezember 2004 11:33
von FlorianBecker
Hi,

nein, beides shared. Es ist genau die gleiche Konfiguration, alles das gleiche.

Verfasst: 2. Dezember 2004 11:35
von lepsai
Welcher Compiler unter win und lin?

Verfasst: 2. Dezember 2004 11:44
von FlorianBecker
win: visual studio 7.0 wie der compiler heisst keine ahnung.
linux gcc, was sonst? :)

Verfasst: 2. Dezember 2004 11:52
von lepsai
gcc läuft per default im Debug-Modus... Was haste denn beim kompilieren angegeben?

>gcc ?

Verfasst: 2. Dezember 2004 12:02
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.

Verfasst: 2. Dezember 2004 12:10
von lepsai
ich würde aber trotzdem noch
DEFINES += QT_DLL
reinnehmen...

Verfasst: 2. Dezember 2004 12:16
von FlorianBecker
Ok, das werde ich dann gleich mal machen.

Verfasst: 2. Dezember 2004 18:25
von FlorianBecker
Ok, nun hab ich damit mal wieder rumgespielt. Es macht keinen Unterschied mit dem QT_DLL. Datei ist gleich groß wie vorher.

Verfasst: 2. Dezember 2004 19:42
von lepsai
Na ja, dann ist es entweder eine Version mit den Debuginfos oder die Compileroptimierungen sind nicht eingeschaltet.

Verfasst: 2. Dezember 2004 20:19
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?

Verfasst: 2. Dezember 2004 20:24
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

Verfasst: 2. Dezember 2004 20:56
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.

Verfasst: 3. Dezember 2004 12:01
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).