duplicate symbol linker errors, my fault or D's?

Jonathan M Davis jmdavisProg at gmx.com
Mon Mar 5 20:36:22 PST 2012


On Tuesday, March 06, 2012 05:26:34 Zach the Mystic wrote:
> > Libraries are not intented for incremental compilation. They
> > are for
> > distributing code in a unit which can be used by programs. And
> > in the case of
> > a shared library, it gives the added benefit of reducing the
> > amount of
> > duplicate code you get in binaries (saving both memory and disk
> > space).
> > 
> > If you want to do incremental compilation, then use -c to
> > generate object files
> > that you link together when you create the actual executable.
> > 
> > - Jonathan M Davis
> 
> Thanks for taking the time to answer. I simply didn't realize
> that you could pack like 60 modules in to one ".o" object file.
> But I do now!

You could put your entire program in a .o file if you wanted to, though I don't 
know why you would, since if you're generating only one object file, you might 
as well generate an executable and save yourself the extra linking step. I 
don't believe that there's any limit to what you can put in an object file 
beyond what you can put in an executable.

http://en.wikipedia.org/wiki/Object_file

- Jonathan M Davis


More information about the Digitalmars-d-learn mailing list