MinGW GCC größe optimieren...

Diskutiere MinGW GCC größe optimieren... im Programmierung Forum im Bereich Software Forum; Hi, wenn man mit dem MinGW GCC folgenden Code im "Release" Modus kompilliert #include <iostream> int main() { std::cout << "Hello World" <<...
T

tobb

Threadstarter
Mitglied seit
31.01.2006
Beiträge
81
Hi,

wenn man mit dem MinGW GCC folgenden Code im "Release" Modus kompilliert
Code:
#include <iostream>

int main()
{
    std::cout << "Hello World" << std::endl;
    return 0;
}
hat man schon eine 266KB große *.exe Datei. Ohne iostream und cout sind es nur 6 KB.
Es scheint mir, als würde die Standardbibliothek, sobald man sie includiert, statisch gelinkt und die Programmgröße wird dadurch aufgebläht.
Kann man das irgendwie optimieren...?
Also, dass so ein kleines Programm kleiner wird...?
 
S

schally

Mitglied seit
05.02.2006
Beiträge
1.313
Alter
32
Standort
RLP
hi,

wenn du zb mit dem dev c++ was kompilierst dann haste auch gleich ne 400kb -500kb exe.bei einer einfachen ausgabe von "hallo" auf der Konsole.
Aber jedoch ist alles mit in der exe drin das es auch auf einem anderen system läuft (wirst du später wenn du zb mit borland builder oder ms visual etwas machen musst merken)

Du könntest hingehen und es mit UPX nochmal als Laufzeit packen dann würde sie nicht mehr so gross sein .

Tipp: Lade dir auch gleichzeitig die GUI des UPX runter

mfg
schally

Nachtrag : Schaue dir den Dev C++ Compiler mal an ist sehr zu empfehlen

DEV Site schrieb:
Dev-C++ 5.0 beta 9.2 (4.9.9.2) (9.0 MB) with Mingw/GCC 3.4.2
Dev-C++ version 4.9.9.2, includes full Mingw compiler system with GCC 3.4.2 and GDB 5.2.1 See NEWS.txt for changes in this release.
 
T

tobb

Threadstarter
Mitglied seit
31.01.2006
Beiträge
81
Als IDE benutze ich Code::Blocks... aber meine Frage ist ja völlig unabhängig von der IDE.

Was ist denn dann "in der exe drin", damit es auf allen Systemen läuft.
Ich kann mit dem MS VC++ Express auch eine Hello World schreiben, dass bei ca 50KB liebt und auch auf allen Windows Systemenläuft...
Mal abgesehen davon sind die Ausführbaren Dateien vom GCC unter Linux auch nicht sehr groß und sie laufen dennoch auf allen Linux Rechnern...
Warum muss MinGW dennoch so große Dateien erzeugen...?
 
S

schally

Mitglied seit
05.02.2006
Beiträge
1.313
Alter
32
Standort
RLP
.....
Was ist denn dann "in der exe drin", damit es auf allen Systemen läuft.
Ich kann mit dem MS VC++ Express auch eine Hello World schreiben, dass bei ca 50KB liebt und auch auf allen Windows Systemenläuft...
....
Hi,

zb die iostream Liberay ist dafür da das es was ausgibt und die wird eben komplett mit in die exe eingebunden zb (sogenannte: statische Bibliotheken ) damit die exe überall läuft .
Zb beim Borland Builder C++(denn ich immer mehr benutze bzw im moment nutze) da kann man die bei den optionen diese statische Bibliotheken entfernen und so hat man dann eine exe die nur noch 19kb gross ist aber führt man dann die exe auf einem anderen pc aus (der die statische Bibliotheken nicht kennt nicht hat ) geht es nicht mehr!

Infos zu iostream evtl nützlich

mfg
schally
 
T

tobb

Threadstarter
Mitglied seit
31.01.2006
Beiträge
81
Du meinst, dass statische Programme überall laufen, weil eben die Funktionen in der Anwendung integriert sind und bei dynamisch gelinkten Programm bedarf es der entsprechenden Bibliothek... jaja das weiß ich alles.

Jeder Compiler sollte aber in der Lage sein, nur das statisch zu linken, was benötigt wird.
Wenn ich also nur cout benötige, dann sollte das die Anwendung nicht um ganze 260 KB größer machen... da ist doch was faul...
 
S

schally

Mitglied seit
05.02.2006
Beiträge
1.313
Alter
32
Standort
RLP
hi,

also evtl kann man unter options die programmeinstellungen(was performance angeht) was machen beim dev zb kann man einstellen
  • Geschwindigkeit
  • Speicher
  • Und Balance(wo er das beste aussucht)

Schau mal ob es bei deiner IDE so etwas auch gibt!

mfg
schally
 
T

tobb

Threadstarter
Mitglied seit
31.01.2006
Beiträge
81
Gibt es. Code::Blocks ist ja in der hinsicht nur ein graphisches Frontend zu GCC.
Einen Effekt, hat das allerdigns nicht.
 
Thema:

MinGW GCC größe optimieren...

MinGW GCC größe optimieren... - Ähnliche Themen

  • Software-Build - Fehlermeldung im Compiler

    Software-Build - Fehlermeldung im Compiler: Hallo zusammen, Ich versuche im moment Blender (3D-Modellierungssoftware) mit CMake und MinGW zu builden. Das brauch ich damit ich im...
  • Zugriff Verweigert - gcc lässt sich in CMD ncit ausfüren

    Zugriff Verweigert - gcc lässt sich in CMD ncit ausfüren: Hi Community Mein Problem: Ich möchte gcc und g++ (MinGW) in der CMD ausführen, bekomme aber nur die Meldung "Zugriff verweigert" Was ich...
  • Alter GCC bei MinGW

    Alter GCC bei MinGW: Hi, weiß jemand, warum bei der aktuellsten MinGW Version (5.1.3) vom Januar 2007 immer noch der vier Jahre alte gcc 3.4.2 eingesetzt wird...
  • C-Projekt unter Linux und Win-VS kompilierbar, nicht jedoch unter mingW und Konsorten

    C-Projekt unter Linux und Win-VS kompilierbar, nicht jedoch unter mingW und Konsorten: Liebe Leute, ich hab ein sehr merkwürdiges Problem und hoffe ihr könnt mir weiterhelfen... Folgendes: Ich hab den C-Source Code einer...
  • MinGW Fortran77 Kompilieren

    MinGW Fortran77 Kompilieren: Kennt sich jemand mit Kompilieren per g77 in mingw in Windows aus? Ich bekomme beim Kompilieren (g77 -o beispiel.o) die Fehlermedlung: undefined...
  • Ähnliche Themen

    • Software-Build - Fehlermeldung im Compiler

      Software-Build - Fehlermeldung im Compiler: Hallo zusammen, Ich versuche im moment Blender (3D-Modellierungssoftware) mit CMake und MinGW zu builden. Das brauch ich damit ich im...
    • Zugriff Verweigert - gcc lässt sich in CMD ncit ausfüren

      Zugriff Verweigert - gcc lässt sich in CMD ncit ausfüren: Hi Community Mein Problem: Ich möchte gcc und g++ (MinGW) in der CMD ausführen, bekomme aber nur die Meldung "Zugriff verweigert" Was ich...
    • Alter GCC bei MinGW

      Alter GCC bei MinGW: Hi, weiß jemand, warum bei der aktuellsten MinGW Version (5.1.3) vom Januar 2007 immer noch der vier Jahre alte gcc 3.4.2 eingesetzt wird...
    • C-Projekt unter Linux und Win-VS kompilierbar, nicht jedoch unter mingW und Konsorten

      C-Projekt unter Linux und Win-VS kompilierbar, nicht jedoch unter mingW und Konsorten: Liebe Leute, ich hab ein sehr merkwürdiges Problem und hoffe ihr könnt mir weiterhelfen... Folgendes: Ich hab den C-Source Code einer...
    • MinGW Fortran77 Kompilieren

      MinGW Fortran77 Kompilieren: Kennt sich jemand mit Kompilieren per g77 in mingw in Windows aus? Ich bekomme beim Kompilieren (g77 -o beispiel.o) die Fehlermedlung: undefined...
    Oben