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 ?

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 ?

By the way does the D compiler is related to C++ compiler in some ways
because on wince/mingw libstdc++ is statically linked so I wonder if it
couln't be an explanation.
But I don't think it can explain everything ...

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

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

I have tried to strip it and now I get 242 kB but it's far too big for
emebedded world.
I would prefer to split things, I mean would it be possible to have on
one side a shared lib emebedding garbage collector and on the other side
user applications ?

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

I have tried to strip it and now I get 242 kB but it's far too big for
emebedded world.
I would prefer to split things, I mean would it be possible to have on
one side a shared lib emebedding garbage collector and on the other side
user applications ?