Big problem with Small programs
Sean Kelly
sean at f4.ca
Tue Jan 23 16:08:54 PST 2007
Walter Bright wrote:
> Sean Kelly wrote:
>> As you can see, simply putting the Win32 object files into a library
>> prior to linking reduced the application size by 51,100 bytes, but
>> separate compilation had the same (bad) result as compiling all
>> modules on one line.
>
> 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:
Start Length Name Class
0002:00000000 00011570H _TEXT CODE 32-bit
0002:00011570 00000198H ICODE ICODE 32-bit
0003:00000000 00000004H .CRT$XIA DATA 32-bit
0003:00000010 00000004H .CRT$XIZ DATA 32-bit
0003:00000020 00000004H .CRT$XCA DATA 32-bit
0003:00000030 00000004H .CRT$XCZ DATA 32-bit
0003:00000040 00000004H .CRT$XPA DATA 32-bit
0003:00000050 00000004H .CRT$XPZ DATA 32-bit
0003:00000060 00000004H .CRT$XTA DATA 32-bit
0003:00000070 00000004H .CRT$XTZ DATA 32-bit
0003:00000074 00000000H IMP__DATA IMP__DATA 32-bit
0003:00000080 00005100H _DATA DATA 32-bit
0003:00005180 00000000H FMB DATA 32-bit
0003:00005180 00000024H FM DATA 32-bit
0003:000051A4 00000000H FME DATA 32-bit
0003:000051A4 00000000H XIB DATA 32-bit
0003:000051A4 0000001CH XI DATA 32-bit
0003:000051C0 00000000H XIE DATA 32-bit
0003:000051C0 00000000H XCB DATA 32-bit
0003:000051C0 00000014H XC DATA 32-bit
0003:000051D4 00000000H XCE DATA 32-bit
0003:000051D4 00000000H XIFCB DATA 32-bit
0003:000051D4 00000004H XIFU DATA 32-bit
0003:000051D8 00000000H XIFL DATA 32-bit
0003:000051D8 00000004H XIFM DATA 32-bit
0003:000051DC 00000000H XIFCE DATA 32-bit
0003:000051E0 00000000H CONST CONST 32-bit
0003:000051E0 00000000H EEND ENDBSS 32-bit
0003:000051E0 000016ECH _BSS BSS 32-bit
0003:000068CC 00000000H XOB BSS 32-bit
0003:000068CC 00000004H XO BSS 32-bit
0003:000068D0 00000000H XOE BSS 32-bit
0003:000068D0 00000000H XOFB BSS 32-bit
0003:000068D0 00000108H XOF BSS 32-bit
0003:000069D8 00000000H XOFE BSS 32-bit
0003:000069E0 00000419H c_common BSS 32-bit
0003:00006E00 00000000H STACK STACK 32-bit
Program entry point at 0000A2AC
--------------------------------------------------------------------------------
hello_large.map:
Start Length Name Class
0002:00000000 00011570H _TEXT CODE 32-bit
0002:00011570 00000198H ICODE ICODE 32-bit
0003:00000000 00000004H .CRT$XIA DATA 32-bit
0003:00000010 00000004H .CRT$XIZ DATA 32-bit
0003:00000020 00000004H .CRT$XCA DATA 32-bit
0003:00000030 00000004H .CRT$XCZ DATA 32-bit
0003:00000040 00000004H .CRT$XPA DATA 32-bit
0003:00000050 00000004H .CRT$XPZ DATA 32-bit
0003:00000060 00000004H .CRT$XTA DATA 32-bit
0003:00000070 00000004H .CRT$XTZ DATA 32-bit
0003:00000074 00000000H IMP__DATA IMP__DATA 32-bit
0003:00000080 00011660H _DATA DATA 32-bit
0003:000116E0 00000000H FMB DATA 32-bit
0003:000116E0 00000024H FM DATA 32-bit
0003:00011704 00000000H FME DATA 32-bit
0003:00011704 00000000H XIB DATA 32-bit
0003:00011704 0000001CH XI DATA 32-bit
0003:00011720 00000000H XIE DATA 32-bit
0003:00011720 00000000H XCB DATA 32-bit
0003:00011720 00000014H XC DATA 32-bit
0003:00011734 00000000H XCE DATA 32-bit
0003:00011734 00000000H XIFCB DATA 32-bit
0003:00011734 00000004H XIFU DATA 32-bit
0003:00011738 00000000H XIFL DATA 32-bit
0003:00011738 00000004H XIFM DATA 32-bit
0003:0001173C 00000000H XIFCE DATA 32-bit
0003:00011740 00000000H CONST CONST 32-bit
0003:00011740 00000000H EEND ENDBSS 32-bit
0003:00011740 0000499CH _BSS BSS 32-bit
0003:000160DC 00000000H XOB BSS 32-bit
0003:000160DC 00000004H XO BSS 32-bit
0003:000160E0 00000000H XOE BSS 32-bit
0003:000160E0 00000000H XOFB BSS 32-bit
0003:000160E0 00000108H XOF BSS 32-bit
0003:000161E8 00000000H XOFE BSS 32-bit
0003:000161F0 00000419H c_common BSS 32-bit
0003:00016610 00000000H STACK STACK 32-bit
Program entry point at 0000A2AC
More information about the Digitalmars-d
mailing list