Big problem with Small programs

Sean Kelly sean at f4.ca
Tue Jan 23 16:52:53 PST 2007


Walter Bright wrote:
> Sean Kelly wrote:
>>> I suggest linking with /MAP, which will generate a .map file listing 
>>> all the modules linked in, and all the global symbols linked in. It's 
>>> a lot easier to see what's happening with that than guessing based on 
>>> the file size.
>>
>> hello_small.map:
> 
> Please be sure you are linking with the /MAP switch, as it will give all 
> the symbols, not just the segments.

Oops, I missed the leading slash.  The output is obviously quite large 
so I'm just going to note some of the larger blocks that are present in 
hello_large.map that are missing from hello_small.map:

0003:0001172C   _D5tango3sys5win325Types10ACE_HEADER6__initZ 0042372C
...
0003:00002C08   _D5tango3sys5win325Types9cSTARTDOCi 00414C08


0003:00001074   _D5tango3sys5win325Types10RASCS_DONEi 00413074
...
0003:00014604   _D5tango3sys5win325Types10WINDOWINFO6__initZ 00426604

The first block goes from line 410 to line 6719 in the map file, and the 
second block goes from line 8047 to line 14559 in the map file.  All 
told, that's 12821 separate constants or initializers in the manually 
linked version that seem absent from the library-based version.



More information about the Digitalmars-d mailing list