Compiler: Size of generated executable file

Steven Schveighoffer schveiguy at yahoo.com
Tue Jan 12 13:31:23 PST 2010


On Mon, 11 Jan 2010 22:24:06 -0500, Walter Bright  
<newshound1 at digitalmars.com> wrote:

> Other languages do appear to have smaller executables, but that's often  
> because the runtime library is dynamically linked, not statically  
> linked, and is not counted as part of the executable size even though it  
> is loaded into memory to be run. D's runtime library is still statically  
> linked in for the pragmatic reason that static linking avoids the "dll  
> hell" versioning problem for your customers.

I hope this is not a permanent situation.  Shared libraries (not  
necessarily DLLs) help reduce the memory usage of all the programs on the  
system that use the same libraries, and the footprint of the binaries.   
The "DLL hell" versioning problem AFAIK is only on Windows, and has  
nothing to do with using dlls, it has everything to do with retarded  
installers that think they are in charge of putting shared DLLs into your  
system directory (fostered by the very loose directory security model of  
Windows to begin with).

My understanding of the "no shared library" problem of D was not that it  
was an anti-dll-hell feature but actually an unsolved problem with sharing  
the GC.  If you are saying that even if someone solves the GC sharing  
problem that D still will produce mostly static exes, you might as well  
take D out back and shoot it now.  I don't see any businesses using a  
language that is 15 years behind the curve in library production.  If it  
were a problem that couldn't be solved, then there would be lots of  
languages that have that problem.

On all your other points, I agree that installs these days are bigger more  
because of media than binaries.  I do have a problem with that in some  
cases.  I don't want my scanner driver software to install 500MB of crap  
that I will never use when all I want to do is scan documents with a  
simple interface.  I don't need "skins" for my word processor or help  
videos on how to use my mouse.  Just install the shit that does the work,  
and leave the rest of my hard drive alone :)

-Steve



More information about the Digitalmars-d mailing list