L
lsk
Guest
Hallo zusammen.
Ich habe gerade ein kleines Prog von einem Arbeitskollegen übersetzt.
Als ich mir das fertige Exe-File angesehen hab, sind mir beinahe die Augen rausgefallen.
Das Prog hat ~1000 Zeilen Code, aber das Exe-File hat ~430 MB!!!!!
Als ich ein wenig mit den globalen Daten rumgespielt hab ist mir aufgefallen,
das der Compiler die Größe aller globalen Strukturvariablen in das Exe-File geschrieben hat.
Jetzt hab ich einen 10 Zeiler geschrieben, der nach der Übersetzung als Exe-File eine Größe von ~140 MB hat.
Das gleiche Programm hab ich auch unter Window mit Borland Builder als Konsolenanwendung übersetzt.
Dateigröße: 7 KB
Weiß jemand einen Grund für das Vorgehen des Compilers?
Hier noch die Systemdaten:
FreeBSD 4.9-STABLE #9
gcc version 2.95.4
Falls jemand eine Antwort weiß und sie hier postet -> Vielen Dank
Ich habe gerade ein kleines Prog von einem Arbeitskollegen übersetzt.
Als ich mir das fertige Exe-File angesehen hab, sind mir beinahe die Augen rausgefallen.
Das Prog hat ~1000 Zeilen Code, aber das Exe-File hat ~430 MB!!!!!
Als ich ein wenig mit den globalen Daten rumgespielt hab ist mir aufgefallen,
das der Compiler die Größe aller globalen Strukturvariablen in das Exe-File geschrieben hat.
Jetzt hab ich einen 10 Zeiler geschrieben, der nach der Übersetzung als Exe-File eine Größe von ~140 MB hat.
PHP:
struct Test
{
float t1[100];
float t2[200];
float t3[300];
};
Test test[60000];
int main(void){}
Das gleiche Programm hab ich auch unter Window mit Borland Builder als Konsolenanwendung übersetzt.
Dateigröße: 7 KB
Weiß jemand einen Grund für das Vorgehen des Compilers?
Hier noch die Systemdaten:
FreeBSD 4.9-STABLE #9
gcc version 2.95.4
Falls jemand eine Antwort weiß und sie hier postet -> Vielen Dank