dillon@PAVEPAWS.BERKELEY.EDU (Matt Dillon) (05/25/86)
(Using Astartup.obj, the usual startup file) completely linking a blank source ( main(){} ) produces an executable size of 13896 bytes. Using WACK, we find that 0x4C (76) hunks exist. Now, changing the program to read: ( main() { printf("x"); } ) and compiling, we get an executable size of 14456 bytes. Using WACK, we find that 0x4F (79) hunks exist. Wack does not display library functions like _printf (or anything else from lc.lib?) for some reason. I can only assume from the above data that an incredible number of routines are being included in the executable DUE TO THE STARTUP CODE ALONE!. What gives? This is completely unacceptable. I realize that we do not have to use the normal startup code, but then WE LOOSE STANDARD IO, and just about everything else in lc.lib. Also, when compiling or porting other programs, it's not feasible to re-write and takeout stdio calls just so we can use a different startup file. FLAME ON! who was the idiot at lattice who thought this would be acceptable? Even an idiot programmer can write disjoint code so half the object modules in a library aren't linked in due to a single call to one of them. Well, Lattice, if you can't handle it, at least release the source to your libraries so one of the many professionals on the net can clean it up! Did Lattice think it could skip corners because it thought it had the entire Amiga C market? or what? Amiga: I am rather angry at you too for simply disregarding this fact and not pushing Lattice to fix it immediately. If I were the project manager, I would be embarassed. FLAME OFF Any endeverous person out there want to write a standard library? I'm working on one, but it's very low priority (last on my list)... probably will never finish it. I sign my Name: -Matthew "no that Matt" Dillon