Du?ży plik exe

0

Mam malutki problemik z baaardzo dużym plikiem! Skompillowałem program konsolowy z dołączonym plikiem iostream. Kod programu ma coś koło 100 lini. Po kompilacji się przeraziłem. Plik exe ma 8MB! Kompiluje pod Dev'em. O co tu biega? Na innych kompilatorach pliki takie były duuużo mniejsze :]

Hmmmmmm zauważyłem właśnie że mam kilka tablic po 1000000 elemetów i jak są one poza main to plik exe zajmuje 8MB a jak wewnątrz to 4MB nie czaje skąd to się bierze :(

0

Dev w nowej wersji ma to do siebie, że dorzuca duuużo kodu od siebie. Przykład:
Prosty programik w wersji 4.9.2 zajmował 3KB a w 4.9.8 już 100KB - cały Dev. Polecam djgpp.
Co do tablicy poza main i rozmiaru pliku to sprawa wygląda następująco:
-Jeżeli zdeklarujesz poza funkcją to tablica jast zapisywana fizycznie w pliku/zmienna globalna/;
-Jeżeli zadeklarujesz na początku funkcji to po wejściu do funkcji program sam zaalokuje odpowiednią ilość pamięci/a w sumie to przesunie wskaźnik stosu/. Sama tablica nie będzie zajmować miejsca w pliku/zmienna lokalna/.

0

Wielkie dzięki :] Dla innych dodam jeszcze że programik z deklaracją przed main działa szybciej :D (oczywiście to <ort>zalerzy </ort>od liczby operacji na tej zmiennej) dla przykładu jak umieściłem w main liczył 7 sekund a jak poza to 2 sekundy!

0

A moze to kwestia ustawien?
Macie wlaczona optymalizacje? Optymalizacja pierwszego poziomu zmniejsza pliki co najmniej 2 krotnie, a -O2 i -Os jeszcze bardziej.
Zrobiliscie strip po kompilacji, zeby tablice symboli wywalic?

0

sa jeszcze specjalne programy do upakowania takich rzeczy (upx rulez)

1 użytkowników online, w tym zalogowanych: 0, gości: 1