LIB Options

Options are not case sensitive and can appear only between the oldlibrary and commands fields on the command line or at the Library Name: prompt following the oldlibrary specification. The option name must be preceded by a forward slash (/) as the option specifier. (Do not use a dash, as the option specifier. LIB interprets a dash as the “delete” operator.) Options can be abbreviated to the shortest unique name; the brackets show the optional part of the name. This chapter uses meaningful yet legal forms of the option names, which may be longer than the shortest unique names. LIB has the following options:

/H[[ELP]]

Calls the QuickHelp utility. If LIB cannot find the Help file or QuickHelp, it displays a brief summary of LIB command-line syntax.

/I[[GNORECASE]]

Tells LIB to ignore case when comparing symbols. LIB does this by default. Use the /NOI option to create a library that is marked as case sensitive.

Use /IGN when combining a case-sensitive library with others that are not case sensitive to create a new library that is not case sensitive. (See the /NOI option for more information.)

/NOE[[XTDICTIONARY]]

Prevents LIB from creating an extended dictionary of cross-references between modules. LINK uses the extended dictionary to speed up a library search. (LINK also has an option called /NOE, where /NOE means “do not read an extended dictionary.”)

Creating an extended dictionary requires more memory. If LIB reports the error message no more virtual memory, either use /NOE or build the library with fewer modules.

/NOI[[GNORECASE]]

Tells LIB to preserve case when comparing symbols. By default, LIB ignores case. Use /NOI when you have symbols that are the same except for case. (When LINK uses the library, it ignores case unless LINK's /NOI option is specified.)

If a library is built with /NOI, the library is internally marked to indicate that case sensitivity is in effect. (Libraries for case-sensitive languages such as C are built with /NOI.) If you combine multiple libraries and any one of them is case sensitive, LIB marks the output library as case sensitive. To override this, use the /IGN option.

/NOL[[OGO]]

Suppresses the LIB copyright message.

/P[[AGESIZE]]:number

Specifies the page size of a new library or changes the page size of an existing library. The number specifies the new page size in bytes. It must be an integer power of 2 between 16 and 32,768. The default page size is 16 bytes for a new library or the current page size for an existing library. Combined libraries take the largest component page size.

The page size of a library sets the alignment of modules stored in the library. Modules start at locations that are a multiple of the page size from the beginning of the file. When creating a library, LIB builds a dictionary, which holds the locations of each name in each module. Each location value represents the number of pages in the file. Because of this addressing method, a library with a large page size can hold more modules than a library with a smaller page size.

The page size also determines the maximum possible size of the .LIB file. This limit is number * 64K. For example, /PAGE:32 limits the .LIB file to 2 megabytes (32 * 65,536 bytes). However, for each module in the library, an average of number/2 bytes of storage space is wasted. In most cases, a small page size is advantageous; you should use a small page size unless you need to put a very large number of modules in a library.

/?

Displays a brief summary of LIB command-line syntax.