std libraries vs. personal libraries
John Reimer
terminal.node at gmail.com
Thu Mar 16 17:20:48 PST 2006
Yes, I believe jicman wrote:
> Ok, so I tried dmd and it builds both files ok and with the same file size
> (below):
>
> 16:05:42.78>dmd -I.. test.d
> c:\dmd\bin\..\..\dm\bin\link.exe test,,,user32+kernel32/noi;
>
> 16:06:02.14>dmd -I.. test0.d
> c:\dmd\bin\..\..\dm\bin\link.exe test0,,,user32+kernel32/noi;
>
> 03/16/2006 04:28 PM 86,556 test.exe
> 03/16/2006 04:28 PM 86,556 test0.exe
>
> So, apparently, is build.
>
> Derek? :-)
>
>
I believe that by default 'build' compiles and links in files that may
be "import-only", so pretty much anything that might be referenced in
the imports will be included in the final executable. That means you
may get files in there that merely declare a bunch of symbols: like the
ones that use extern(C) or extern(Windows) for external libraries -- you
don't need the object form of those modules since they just contain
symbol definitions for the external libraries. Compiling all those
symbols and putting the object into your project is going to bloat up
the executable, I imagine.
If you know which files are really just import header modules, maybe try
using builds exclude function on the command line: -X(module or package).
Did you try -Xphobos?
That might help.
-JJR
More information about the Digitalmars-d-learn
mailing list