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