My D cross-compiler for wince generates huge binary

David Friedman dvdfrdmn at users.ess-eff.net
Fri Aug 15 19:48:29 PDT 2008


Vincent Richomme wrote:
> Hi,
> 
> When trying o build a simple D program with a wince cross compiler the 
> generated binary is about 1 MB for a simple MessageBox.
> 
> 
> $> arm-mingw32ce-gdc test.d -O2 -o testD.exe
> $>ls -la
> -rwxr-xr-x 1 Vincent Aucun 1231211 Aug 15 16:16 testD.exe
> 
> I don't understand why the binary is so big ? Is it normal ?
> Maybe it's because of D runtime and in this case how can I build it as a 
> shared lib ?
> 

D executables tend to be large because of the garbage collector and the 
fact that the library modules generate monolith objects.

You can mitigate the latter problem by building Phobos (and your apps) 
with -ffunction-sections and -fdata-sections.  Then use -Wl,-gc-sections 
in the link command.

Also: Have you tried stripping the executable?

David


More information about the D.gnu mailing list