Combined Library Much Larger than Components (44896)



The information in this article applies to:

  • Microsoft LIB for MS-DOS 3.1
  • Microsoft LIB for MS-DOS 3.11
  • Microsoft LIB for MS-DOS 3.17
  • Microsoft LIB for MS-DOS 3.18
  • Microsoft LIB for MS-DOS 3.2
  • Microsoft LIB for MS-DOS 3.20.010
  • Microsoft LIB for MS-DOS 3.31
  • Microsoft LIB for MS-DOS 3.4
  • Microsoft LIB for OS/2 3.1
  • Microsoft LIB for OS/2 3.11
  • Microsoft LIB for OS/2 3.17
  • Microsoft LIB for OS/2 3.2

This article was previously published under Q44896

SUMMARY

If you use LIB.EXE to combine your libraries with a third-party library, the resultant library may be much larger than expected. For example:

LIB1.LIB 5K bytes
LIB2.LIB 250K bytes

LIB1.LIB + LIB2.LIB = 305K bytes

MORE INFORMATION

This size difference may be the result of different page sizes among the libraries being combined. The page size of a library affects the alignment of modules stored in the library. When libraries with different page sizes are combined, the resultant library uses the largest page size from the constituent libraries. Thus, the actual increase in file size represents wasted space between modules in the library. To reduce the amount of wasted space, you should specify a smaller page size for the new library. This may be accomplished by using the library manager as follows:

LIB BIG.LIB /PAGESIZE:16;

This sets the page size for the library BIG.LIB to 16 bytes.

As indicated in the library manager documentation, the page size must be an integer power of 2 from 16 to 32,768 bytes.

Modification Type:MajorLast Reviewed:10/23/2003
Keywords:kb16bitonly KB44896