[ NrmMyth @ 18.09.2005. 11:34 ] @
Kompailirao sam isti kod na VS .NET 2003/VC 7.0 i na Dev-Cpp 4.9.9.2.
Sa prvim mi je .exe bio 80 kb dok mi je sa drugim bio 500 kb.
Jeli to znaci da onaj sa VC ovisi o nekim vanjskim .dll-ima, a onaj sa Dev_Cpp ne?
[ X Files @ 18.09.2005. 11:39 ] @
Nemam iskustva sa DevC++, ali pretpostavljam da si ukljucio (bolje receno nisi
sikljucio) DEBUG INFO iz drugog EXE-a...
[ X Files @ 18.09.2005. 11:50 ] @
Evo pogledah sad Dev-C++ FAQ koji se nalazi u Help-u:

Citat:

The size of the executable generated is huged, why ?

Be sure you didn't check "Generate debugging information" in Compiler Options, Linker sheet

[ yooyo @ 18.09.2005. 12:15 ] @
Nadji program Dependency Walker (ili Viewer) i pogledaj oba exe-a. Uz MSVC dolazi programcic depends.exe koji radi isti posao.

Ovi programi analiziraju EXE file i prave spisak dll-ova od kojih taj EXE zavisi.

MSVC po defaultu koristi DLL runtime (Single-Threaded-DLL ili Multi-Threaded-DLL). Mozes da podesis compiler tako da se koristi staticka runtime biblioteka (promeni u Single-Threaded ili Multi-Threaded bez DLL).

yooyo
[ NrmMyth @ 18.09.2005. 14:50 ] @
Citat:
yooyoMSVC po defaultu koristi DLL runtime (Single-Threaded-DLL ili Multi-Threaded-DLL). Mozes da podesis compiler tako da se koristi staticka runtime biblioteka (promeni u Single-Threaded ili Multi-Threaded bez DLL).

yooyo

Moze biti do toga, nisam uopce obracao paznju na to, a u Dev-Cpp je iskljucen Debugging info.
Hvala.
[ NrmMyth @ 18.09.2005. 18:02 ] @
Citat:
yooyo
MSVC po defaultu koristi DLL runtime (Single-Threaded-DLL ili Multi-Threaded-DLL). Mozes da podesis compiler tako da se koristi staticka runtime biblioteka (promeni u Single-Threaded ili Multi-Threaded bez DLL).

yooyo

Nije do toga.
Jos sam otkrio pomocu "Dependancy walkera" da .exe iz Dev_Cpp-a ovisi o .dll-u vise.
Kako onda obrnuta razlika velicina?
[ DarkMan @ 18.09.2005. 20:20 ] @
Koristeci razilicite kompajlere nikada nece dobiti isti izvrsni kod. Jedino sto mozes je da raznim opcijama podesis kompajler da optimizuje/smanji kod. MS-ov kompajler je dosta bolji od GCC-a koji DevCpp koristi. Ako volis da eksperimentises mogao bi da probas intelov kompajler za kojeg cujem da je najbolji.
[ X Files @ 18.09.2005. 20:41 ] @
Citat:

MS-ov kompajler je dosta bolji od GCC-a koji DevCpp koristi.


Sve moze biti, ali 500 >> 80 ;)

P.S.

Mislim da greska u include-ovima moze cesto da proizvede veliki obj a ovaj kasnije
veliki exe.

Ako je tvoj projekat sastavljen od vise fajlova, pogledaj koji je obj znacajno veci
od ostalih...

[ NeznamTkoSam @ 19.09.2005. 08:28 ] @
Mislim da linkeru trebas dati parametar -s
[ tosa @ 19.09.2005. 08:32 ] @
Ja imam recimo situaciju da se debug i release executable razlikuju za ~45MB (da, megabajta).
Odbijao sam da poverujem, ali tako je, debug info u exe-u koji je ~4.5 mega je oko
10 puta veci od samog exe-a.
Naravno za tako divne rezultate je koriscen GCC ;)
[ idb @ 19.09.2005. 09:17 ] @
Cim ukljucis #include <iostream> izvrsni fajla veoma poraste.
Ako ti ova klasa nije neophodna, pisi C programe, pa ce EXE biti mnogo manji.
U cilju smanjenja EXE fajla pogledaj:
http://aditsu.freeunixhost.com/dev-cpp-faq.html#largeexe
http://www.mingw.org/mingwfaq.shtml#faq-C++size
a ako hoces dopunsko smanjenje EXE fajla koristi UPX.
Ako ti se svidja cena po kojoj dobijas Dev-Cpp with Mingw/GCC 3.4.2 (0$), onda ces se lako prilagoditi i malo vecem izvrsnom fajlu.

[ NrmMyth @ 19.09.2005. 14:49 ] @
Hvala na vremenu.
[ Dragi Tata @ 19.09.2005. 15:08 ] @
Da li uz Dev-CPP dobijaš alatku koja se zove "strip"? Ako da, probaj da je koristiš. exe će i dalje da bude veći nego kod VC++, ali će razlika ipak da bude manja.
[ leka @ 24.09.2005. 20:15 ] @
MS-ov kompajler bolji od GCC-a? - Kad bi se gadjali trotinetima... Doduse, mozda i jeste bolji kada se gleda ISKLJUCIVO Windows/x86 kombinacija.
Kad smo vec dosli do ove teme - predlazem Windows programerima da pogledaju DigitalMars C/C++ . Prenecu svoj tekst sa jednog drugog foruma: "Nista ne bi bilo interesantno u ovoj novosti da DM C/C++ kompajler ne prolazi (100%) sve Brian Malloy testove (Dr.Dobbs Journal 2002) ! Ove testove u potpunosti ne prolazi niti jedan kompajler. :) Vise o testovima: http://www.cs.clemson.edu/~malloy/projects/ddj2/ddj2.html . Ostale informacije o verziji 8.45 DMD C/C++ kompajlera: http://www.digitalmars.com/compiler.htm#new845 . PS. uskoro cu poceti da radim sve sto je potrebno za kompajliranje FLTK-a, FEW-a i CXX-a sa DMD C/C++".
Usput se izvinjavam sto je ova moja poruka nema veze sa temom - nemaju ni prethodne pa se niko nije zalio... :)
[ DarkMan @ 27.09.2005. 02:10 ] @
Citat:
leka: MS-ov kompajler bolji od GCC-a? - Kad bi se gadjali trotinetima... Doduse, mozda i jeste bolji kada se gleda ISKLJUCIVO Windows/x86 kombinacija.

Na tu kombinaciju sam i mislio. MS-ov kompajler ni ne moze da se gleda u nekoj drugoj kombinaciji (osim ako sam propustio vest da je Microsoft napravio kompajler za linux ili nesto drugo).
GCC je open source kompajler i ima ga za velik broj os-ova i raznih chipova i sigurno da nije posveceno toliko paznje optimizaciji za windows platformu koliko su to uradili ovi iz Microsofta. I pored ove cinjenice ne mora da znaci da je MS-ov kompajler bolji u optimizaciji za brzinu (npr. cuo sam da su se programeri PCSX 2 zalili da MS-ov kompajler ima losu optimizaciju za switch) ali ocigledno da moze da izbaci nepotreban/nekoriscen kod (bar bez dodatne intervencije nekih alata) sto rezultuje manjom velicinom fajla.