markz@microsoft.UUCP (Mark Zbikowski) (01/09/84)
"... Why MS did not use the standard Intel format for libraries I have no idea!..." The Intel object format is based on variable sized records. To implement the Intel library format would require reading and processing the LIB file in order to search it. On a floppy based system this can be unreasonably slow. Having a hash table at the end of the LIB file speeds things up dramatically. The 512-byte alignment is another speed improvement for floppies; LINK's overflow-to-disk processing mechanism is used to page in the required sections of the library. "...header and a checksum. Absolutely no-one checks either of these fields, a fact made clear by the fact that the MS (IBM) PASCAL EXE files are distributed with the first two bytes reversed!..." The checksum field is provided in case people do want to do checksum verification. The signature field is checked; the EXEC system call uses these two bytes to determine if the file is either an EXE file or a COM file. Using a name to guide in interpretation of the contents is pretty bogus.