Compiler: Size of generated executable file

Walter Bright newshound1 at digitalmars.com
Sun Jan 10 13:05:12 PST 2010


grauzone wrote:
> Walter Bright wrote:
>> What's hard about "function foo is in the executable, and consumes 421 
>> bytes"?
> 
> If an executable has > 10000 symbols, it's hard to find out what's 
> actually causing overhead. If you have a script, that categorizes symbol 
> types by demangling the symbol names and creates statistics based on 
> this or so, please post.

It's really not that hard to just look at. The map file even sorts it 
for you, by name and by location.



>> All a linker does is concatenate the bytes of your generated code 
>> together from the various obj files and write it out. There's no magic 
>> going on.
> 
> If it's so simple, then why does OPTLINK fail so hard? I can only guess 
> how many people are turning away from D just because they have to deal 
> with OPTLINK's inability to deal with COFF. They end up trying to 
> compile libraries with dmc etc., just to get it linked.

The file formats are complicated. The concept of what the linker does is 
trivial, especially when we're talking about "what consumes space in the 
exe file".



More information about the Digitalmars-d mailing list