C++Builder lepszy !!

0

dziwna sprawa :

mam dwa kompy......i tak jakoś wyszło że się na ten gorszy musiałem przesiąć. Robiłem mały program dosowy w Dev-c++ i wynik nie wdziwił :

programik miał prawie 100 kb..... potem napisałem jeszcze mniejszy program coś w style 'HELLO WORLD' i zonk.....plik ma 68 kb...

miałem TAM też nagrany Borland c++Builder....wrzuciłem ten programik do niego kompiluje i co ........12 kb.....

Dlaczego jest aż taka różnica w wielkości ???
Czy zachwalany tak przez większość osób GCC (toć na nim jest oparty Dev-C++) jest w sumie lichawy ???

na linuxie nie mam do czego porównać gcc, ale wynik pewnie był by podobny .

wygląda na to że mocą gcc jest dobre wykorzystywanie maszyny.....na lepszym kompie mam znacznie lepszy wynik.....choć c++builder i tak jest lepszy..

a jak działa Visual C++ ?

AVE BORLAND !! AVE DELPHI I BUILDER !!

/* 163b w asm pod FreeBSD :P - Dryo */

0

hmm, u mnie pod linuksem taki progam typu hello world zajmuje 16kb :) (bez zadnej optymalizacji). Srawdź jak wygląda polecenie, które jest wykonywane do skompilowania programu. Może np dodajesz do kodu info dla debuggera ??

0

A u mnie maly serwer WWW zajmuje 4 kB.
No dobra, zartowalem, reszta jest w bibliotece .so. :)

Niemniej "Hello world" daje sie upchnac do 2.5 kB pod Linuksem (gcc 3.2.3, -Os, pozniej strip). Zauwazylem, ze jak sie dobrze zaprojektuje program, to tylko na poczatku implementacji jego rozmiar szybko rosnie. Np. piszac w C rozmiar rosnie mniej wiecej liniowo caly czas. W programach w C++ na poczatku jest szybszy przyrost rozmiaru, ale pozniej dzieki wiekszemu stopniowi ponownego wykorzystania tych samych komponentow (przy DOBRYM projekcie) rozmiar kodu przyrasta bardzo wolno. Takze nie nalezy przejmowac sie za bardzo tym, ze Hello World ma na poczatku 60 kB zamiast 10 kB. To nie kompilator robi program, a programista, tak jak nie aparat robi zdjecia, a fotograf.

Poza tym sugeruje jednak wlaczyc optymalizacje (-Os) i dopiero wtedy porownywac kompilatory.

0

Chodziło mi o coś innego:
komputer ma no chyba z 8 lat(a może i więcej) - pentium 166 32MB RAM,
drugi komp ten lepszy - 1200MHz 256MB
nie widzicie różnicy [!!!]

chodziło o to że kompilator gcc jest bardziej wydajny tylko na nowszych komputerach......na starym sprzęcie lepszy jest C++Builder.

poza tym jaka może optymalizacja w głupim programie typu 'Hello World', przecież tam jest raptem stała z wartością do wypisania i sama funkcja wypisująca ....

0

A sprawdź teraz, czy ten twój "mniejszy" EXEk z Buildera odpali ci się na kompie, na którym nie ma zainstalowanego Buildera ;P
Niestety muszę cię zmartwić - goście z Borlanda trochę oszukują ;). Umieszczają biblioteki runtime w osobnych DLLkach lub pakietach BPL, które muszą być również obecne na komputerze, inaczej EXEk się nie odpali. Jak już chcesz porównywać rozmiary, to daj w opcjach projektu, żeby nie używał dynamicznego RTL i odznacz "Build with runtime packages". Druga sprawa to informacje dla debuggera i optymalizacje. Te pierwsze należy wyłączyć, a te drugie włączyć ;). Dopiero wtedy widać, który kompilator generuje lepszy kod ;)

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