Waga Plików

0

Z ciekawości!
Dlaczego jeśli napiszę zwykły przeciętny program wyświetlający w konsoli napis Hello World! to waży on prawie jeden megabajt
a jeśli napiszę program wykorzystujący bibliotekę OpenGL wyświetlający kolorowy trójkąt w okienku to waży on tylko kilka kilobajtów?
Czy to przez to że korzystam z CodeBlock'a? A może standardowe procedury C++ (Cout, Cin, If itd...) po prostu ważą tyle ile ważą.

P.S Czy można zastosować na przykład jakieś wstawki assembler'owe czy coś w tym guście a ewentualnie biblioteki dla optymalizacji kodu?

0

Pokaż ten program i wywoływaną linię komend :P

0

Zapewne używasz Iostream

Polecam użyć
#include <fstream>
...
printf("Hello World!");

lub
#include <stdio.h>
...
puts("Hello World!)

Plik można zmniejszyć poprzez strip plik.exe

0
  1. cin i cout to nie procedury, a obiekty
  2. większość implementacji części biblioteki standardowej c++ zajmuje dużo miejsca
  3. w większości przypadków strip zmniejszy znacznie kod plik wykonywalny.
0

Jeśli kompilujesz w debugu binarki zwykle są grube, ponieważ zawierają dodatkowe symbole dla debuggera. Skoro korzystasz z C::B to pewnie i z GCC - możesz ustawić flagę -Os, która może trochę pomóc. Po kompilacji możesz też przepuścić binarkę przez upx, co zwykle pozwala zmniejszyć rozmiar o jakieś 50%.

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