home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / cset21v3.zip / INF / DDE3LIB.INF (.txt) next >
OS/2 Help File  |  1993-10-12  |  26KB  |  823 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. Special Notices ΓòÉΓòÉΓòÉ
  3.  
  4. References in this help to IBM products, programs, or services do not imply 
  5. that IBM intends to make these available in all countries in which IBM 
  6. operates. 
  7.  
  8. Any reference to an IBM licensed program in this help is not intended to state 
  9. or imply that only IBM's licensed program may be used. Any functionally 
  10. equivalent product, program, or service that does not infringe any of IBM's 
  11. intellectual property rights may be used instead of the IBM product, program, 
  12. or service. 
  13.  
  14. Evaluation and verification of operation in conjunction with other products, 
  15. except those expressly designated by IBM, is the user's responsibility. 
  16.  
  17. IBM may have patents or pending patent applications covering subject matter in 
  18. this help. The furnishing of this help does not give you any license to these 
  19. patents. 
  20.  
  21. The following terms, denoted by an asterisk (*) in this help, are trademarks of 
  22. the IBM Corporation in the United States and/or other countries: 
  23.  
  24. IBM 
  25. OS/2 
  26. Operating System/2 
  27. Presentation Manager 
  28. WorkFrame/2. 
  29.  
  30. The following terms used in this publication are trademarks of Microsoft 
  31. Corporation. They are denoted by a double asterisk (**) when they appear in the 
  32. text. 
  33.  
  34. Microsoft 
  35. Windows. 
  36.  
  37. This help contains examples of data and reports used in daily business 
  38. operations. To illustrate them as completely as possible, the examples include 
  39. the names of individuals, companies, brands, and products. All of these names 
  40. are fictitious and any similarity to the names and addresses used by an actual 
  41. business enterprise is entirely coincidental. 
  42.  
  43.  
  44. ΓòÉΓòÉΓòÉ 2. Introduction ΓòÉΓòÉΓòÉ
  45.  
  46. The IBM* Library Manager (also referred to as LIB in this reference) lets you 
  47. create and maintain libraries of object code. 
  48.  
  49. Library files are given the extension of ".LIB" (as in MYLIB.LIB). High 
  50. Performance File System (HPFS) file names are also supported as long as the 
  51. file names ends with ".LIB" (as in MYLIBRARYFILE.NEW.LIB). 
  52.  
  53. LIB works with standard libraries and OS/2* import libraries. It does not work 
  54. with Dynamic Link Libraries (DLL). 
  55.  
  56. Use LIB to: 
  57.  
  58. o Create a new library 
  59. o Add, delete, or replace modules in a library 
  60. o Copy object modules in a library to object files 
  61. o List the contents of a library 
  62.  
  63.  
  64. ΓòÉΓòÉΓòÉ 3. Running LIB ΓòÉΓòÉΓòÉ
  65.  
  66. Run LIB by typing "LIB" at the operating system prompt. 
  67.  
  68. Parameters can be supplied by one of three methods: 
  69.  
  70.  1. Enter them directly on the command line. 
  71.  2. Respond to prompts. 
  72.  3. Put them in a text file called a response file and specify the file name 
  73.     after the LIB command. 
  74.  
  75. To enter more commands than can be conveniently entered on one line, type an 
  76. ampersand (&) at the end of the line and press Enter to extend the command 
  77. field to a new line. The ampersand can be used with all three input methods. 
  78.  
  79. You can press Ctrl+C or Ctrl+Break at any time during a LIB run to return to 
  80. the operating system. Interrupting LIB before completion restores the library 
  81. from the backup. 
  82.  
  83. Note: 
  84.  
  85. o When started, LIB makes a backup copy of the original library in case it is 
  86.   interrupted or a mistake is made. Make sure you have enough disk space for 
  87.   both your original library and the modified copy. 
  88.  
  89. o The library must end with the extension ".LIB". If an extension is not 
  90.   specified, the default extension, ".LIB", will be appended. HPFS file names 
  91.   are supported. Hence, MYLIBRARYNAME.NEW.LIB is still a valid library. Note 
  92.   that this implies that MYLIBRARYNAME.NEW refers to MYLIBRARYNAME.NEW.LIB. 
  93.  
  94. o If you enter an input library name and follow it immediately with a semicolon 
  95.   (;), LIB performs a consistency check on the library and takes no other 
  96.   action. 
  97.  
  98.  
  99. ΓòÉΓòÉΓòÉ 3.1. Using the Command Line ΓòÉΓòÉΓòÉ
  100.  
  101. You can specify all the input LIB needs on the command line. The syntax of the 
  102. command line is: 
  103.  
  104. LIB [options] inlibrary [commands] [[,listfile] [, outlibrary]] [;]
  105.  
  106. inlibrary        The input library to be modified. 
  107.  
  108. options          Options that affect the way LIB runs. 
  109.  
  110. commands         Commands used to add, delete, replace, copy, and move modules 
  111.                  within the library. 
  112.  
  113. listfile         The name for a listing file. If you don't specify a name, no 
  114.                  file is created. 
  115.  
  116. outlibrary       The output library created from the input library. If you 
  117.                  don't specify an output library, your input library is 
  118.                  replaced with the modified version (see below). 
  119.  
  120. Commas are used to separate commands and options. The semicolon (;) is used to 
  121. mark the end of the command line. 
  122.  
  123.  
  124. ΓòÉΓòÉΓòÉ 3.2. Using LIB Prompts ΓòÉΓòÉΓòÉ
  125.  
  126. If you don't provide input to LIB on the command line, LIB prompts you for the 
  127. information it needs by displaying the following messages, one at a time: 
  128.  
  129. Prompt               Enter 
  130.  
  131. Library name 
  132.                    Name of the input library to be modified. 
  133.  
  134. Operations 
  135.                    Commands to modify the library. If no operations are 
  136.                    specified, the input library is unchanged. 
  137.  
  138. List file 
  139.                    Name for a listing file If no listing file is specified, no 
  140.                    listing file is created. 
  141.  
  142. Output library 
  143.                    Name of the output library to be created from the input 
  144.                    library. If no output library is specified, LIB modifies the 
  145.                    input library. 
  146.  
  147. Enter the same information that you would enter when using the LIB command 
  148. line. 
  149.  
  150. Notes 
  151.  
  152. o LIB waits for you to respond to each prompt before displaying the next 
  153.   prompt. If you notice that you have entered an incorrect response to a 
  154.   previous prompt, press Ctrl+C or Ctrl+Break to exit LIB and begin again. 
  155. o A file name must be entered at the Library name: prompt. To choose a default 
  156.   response for any of the other prompts, press Enter. To choose default 
  157.   responses for all remaining prompts, type a semicolon (;) and press Enter. 
  158.  
  159.  
  160. ΓòÉΓòÉΓòÉ 3.3. Using a LIB Response File ΓòÉΓòÉΓòÉ
  161.  
  162. To provide input to LIB with a response file, type: 
  163.  
  164. LIB @responsefile;
  165.  
  166. The field responsefile is the name of a file containing the same information 
  167. that can be specified on the command line. 
  168.  
  169. In a sense, a response file extends the command line to include everything in 
  170. the response file. To split input to LIB between the command line and a 
  171. response file, put part of your input on the command line and specify a 
  172. response file (preceding the response file name with the at sign (@)). The 
  173. response file name can be any valid OS/2 file. To use special characters such 
  174. as a space or the @ symbol, the filename must be enclosed in quotes. 
  175.  
  176. LIB responds to input you place in a response file just as it does to input you 
  177. enter on a command line or after a prompt. Using a newline character in the 
  178. response file is the equivalent of pressing the Enter key after a LIB prompt. 
  179.  
  180. A response file uses one text line for each prompt. To extend a LIB command to 
  181. multiple lines, end each line except the last with an ampersand (&). Responses 
  182. must appear in the same order as the prompts. If a response for one of the 
  183. prompts does not appear, the default is used. 
  184.  
  185. Use a response file for: 
  186.  
  187. o Complex and long commands you type frequently 
  188.  
  189. o Strings of commands that exceed the limit for command line length. 
  190.  
  191.  
  192. ΓòÉΓòÉΓòÉ <hidden> Specifying LIB Parameters - Examples ΓòÉΓòÉΓòÉ
  193.  
  194. This panel shows you examples of each method for specifying parameters to LIB. 
  195.  
  196. In the examples, the following operations create a new library, NEWLIB.LIB, and 
  197. its listing file, NEWLIB.LST, from the existing MYLIB.LIB library. MYLIB.LIB is 
  198. unchanged, but NEWLIB.LIB has these changes: 
  199.  
  200. o The contents are case-insensitive. 
  201. o The module TIM is deleted. 
  202. o The object file SIMON.OBJ is appended as an object module with the name 
  203.   SIMON. 
  204. o The existing module KEHM is deleted and is replaced by a new KEHM which is 
  205.   appended after SIMON. 
  206. o The module LAM is copied into an object file named LAM.OBJ. 
  207.  
  208. Command Line Method 
  209.  
  210. At the operating system prompt, enter the following two lines. 
  211.  
  212. LIB /I MYLIB, SIMON-TIM-+KEHM &
  213. *LAM, NEWLIB.LST, NEWLIB;
  214.  
  215. LIB Prompts Method 
  216.  
  217. To have LIB prompt you for input, enter LIB with no parameters. 
  218.  
  219. Library name: /I MYLIB
  220. Operations: +SIMON-TIM-+KEHM &
  221. Operations: *LAM
  222. List file: NEWLIB.LST
  223. Output library: NEWLIB
  224.  
  225. Response File Method 
  226.  
  227. First, create a response file with the following contents. 
  228.  
  229. /I MYLIB
  230. +SIMON-TIM-+KEHM &
  231. *LAM
  232. NEWLIB.LST
  233. NEWLIB
  234. Then, assuming the name of the response file is response.fil, invoke LIB with: 
  235.  
  236. LIB @RESPONSE.FIL;
  237.  
  238. Note that the lines in the response file match the entries you would have made 
  239. with the prompting method. Even the ampersand character (&), the continuation 
  240. character, is used in the same way. 
  241.  
  242.  
  243. ΓòÉΓòÉΓòÉ 4. Creating a New Library ΓòÉΓòÉΓòÉ
  244.  
  245. To create a new library file, give the name of the library file you want to 
  246. create in the inlibrary field on the command line (or at the Library name: 
  247. prompt when using LIB prompts). 
  248.  
  249. Note:  A library file is automatically created if the library file name you 
  250. specify is immediately followed by a command, comma, or semicolon. In this 
  251. case, the prompt does not appear. 
  252.  
  253. If the name you specify for the new library file already exists, LIB assumes 
  254. that you want to modify the existing file. 
  255.  
  256. When you give the name of a file that does not currently exist, LIB displays 
  257. the following prompt: 
  258.  
  259. Library does not exist.  Create library? (y or n)
  260.  
  261. Type y to create the file; type n to terminate the LIB run. If you specified an 
  262. extension other than .LIB, LIB will try to append the .LIB extension to the 
  263. entire file name. If a library name is not entered, LIB will prompt you with 
  264. Library name:. 
  265.  
  266.  
  267. ΓòÉΓòÉΓòÉ 5. Modifying a Library ΓòÉΓòÉΓòÉ
  268.  
  269. You can use LIB to alter the contents of any object code library. For example, 
  270. if you work with high level language libraries, you may want to replace a 
  271. standard routine with your own version of the routine. You may also want to add 
  272. a new routine to the standard library so that your routine is available along 
  273. with the standard routines. 
  274.  
  275. To modify an existing library file, give the name of the library file you want 
  276. to modify in the inlibrary field of the command line (or at the Library name: 
  277. prompt when using LIB prompts). 
  278.  
  279. In the command field, enter one or more commands to add, delete, or replace 
  280. modules in the input library. Each command consists of a command character 
  281. immediately followed by the name of the module or object file. Note that the 
  282. Add command can be used to combine libraries as well as to add object files to 
  283. a library. See: 
  284.  
  285. Add Command (+) 
  286. Delete Command (-) 
  287. Replace Command (-+) 
  288.  
  289. LIB creates a backup file of the library being modified if it already exists. 
  290. This backup file has the same name as the original library with ".BAK" as the 
  291. extension. 
  292.  
  293.  
  294. ΓòÉΓòÉΓòÉ 6. Copying Object Modules to Object Files ΓòÉΓòÉΓòÉ
  295.  
  296. To copy a module from a library file to an object file, give the name of the 
  297. library file in the inlibrary field on the command line (or at the Library 
  298. name: prompt when using LIB prompts). 
  299.  
  300. The command field on the command line allows you to move or copy modules. 
  301.  
  302. Command   Action 
  303.  
  304. copy (*)  LIB copies the module to an object file and retains the module in the 
  305.           library. 
  306.  
  307. move (-*) LIB copies the module to an object file and deletes the module from 
  308.           the library. 
  309.  
  310.  
  311. ΓòÉΓòÉΓòÉ 7. Listings ΓòÉΓòÉΓòÉ
  312.  
  313. Listings give you the exact names of modules and public symbols, allowing you 
  314. to inspect the contents within a library. 
  315.  
  316. To generate a listing file, enter the following on the command line (or at the 
  317. appropriate LIB prompt): 
  318.  
  319. o The name of the library file in the inlibrary field 
  320.  
  321. o The name of the listing file in the listfile field 
  322.  
  323. When generating a listing file, the amount of detail can be varied. The level 
  324. of detail is specified with the 
  325.  
  326.      /Listlevel:n
  327. option, with three different levels being available. 
  328.  
  329. Level 1 is the default. It is the fastest to generate and contains the least 
  330. amount of information. All modules are listed in order of occurrence. For each 
  331. module, the level 1 option: 
  332.  
  333.  1. Shows the relative position and size of each module. 
  334.  
  335.  2. Lists all the public symbols defined in the module. 
  336.  
  337.  3. Lists all external symbols which must be resolved at link time. 
  338.  
  339. Level 2 contains all the information of level 1. In addition, for each external 
  340. symbol, level 2 shows which module in the library contains the required public 
  341. symbols for resolving at link time. This can be overridden if a module is 
  342. linked to another module that already contains the symbol. 
  343.  
  344. Level 3 contains all the information of level 2. In addition, Level 3 displays 
  345. the technical characteristics of the library. This option also contains a dump 
  346. of the extended dictionary. This is useful to determine which modules will be 
  347. implicitly linked in whenever a particular module is linked in. 
  348.  
  349. Note:  If you are using the IBM C/C++ Tools product, definitions with mangled 
  350.        names will be listed with the demangled form in brackets. 
  351.  
  352. Sample Cross Reference Listing 
  353.  
  354. LIB /LISTLEVEL:2 NEWLIB, NEWLIB.LST;
  355.  
  356. The command above directs LIB to place a listing of the contents of NEWLIB.LIB 
  357. into the file NEWLIB.LST. No path specification is given for NEWLIB.LST. By 
  358. default, the file created is put in the current directory. 
  359.  
  360.  
  361. ΓòÉΓòÉΓòÉ <hidden> Listing Example ΓòÉΓòÉΓòÉ
  362.  
  363. The syntax used to generate a listing file with level 3 option is: 
  364.  
  365. LIB /L:3 NEWLIB, NEWLIB.LST;
  366.  
  367. This command generates the following listing file called NEWLIB.LST: 
  368.  
  369. IBM (R) Library Manager Version 2.00
  370. Copyright (C) IBM Corporation 1991, 1992.  All rights reserved.
  371.  
  372. Library name : D:\TEMP\NEWLIB.LIB
  373.  
  374. Listing detail level : 3
  375.  
  376.  
  377.     ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  378.   ΓöîΓöÇΓöñNumber of the module within the parent library. TheΓöé
  379.   Γöé Γöéfirst module number in the listing file is 00000.  Γöé
  380.   Γöé ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  381.   Γöé   ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  382.   Γöé   ΓöéName of the module within the library.Γöé
  383.   Γöé   ΓööΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  384.         
  385. 00000:francis(OFFSET:0x00000010, SIZE:0x000004ca):
  386.                                         
  387.                          Γöé   ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  388.                          Γöé   ΓöéSize (in bytes) of the object module.Γöé
  389.                          Γöé   ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  390.                 ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  391.                 ΓöéRelative offset (in bytes) of the module within the library.Γöé
  392.                 ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  393.                         ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  394.  - Public Definitions:ΓöÇΓöñSymbols defined by the module.  Γöé
  395.      francis            ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  396.  
  397.                              ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  398.                              ΓöéSymbols defined in a differentΓöé
  399.  - External Definitions:ΓöÇΓöÇΓöÇΓöÇΓöñmodule within the library.    Γöé
  400.      DosAllocMem             ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  401.      _ilog2
  402.      _critlib_except
  403.      _DosSelToFlat
  404.      _DosFlatToSel
  405.  
  406.  
  407. 00001:lam (OFFSET:0x000004e0, SIZE:0x000001d1):
  408.  - Public Definitions:
  409.      lam
  410.  
  411.  - External Definitions:
  412.      francis                            <- 00000:francisΓöÇΓöÇΓöÇΓöÇΓöÉ
  413.      _critlib_except                                         Γöé
  414.      _DosSelToFlat       ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  415.      _DosFlatToSel       ΓöéNumber and name of the module within the libraryΓöé
  416.                          Γöéthat defines the corresponding public symbol.   Γöé
  417.                          ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  418.  
  419. 00002:hazlett (OFFSET:0x000006c0, SIZE:0x0000021a):
  420.  - Public Definitions:
  421.      hazlett
  422.  
  423.  - External Definitions:
  424.      DosFreeMem
  425.      _critlib_except
  426.      _DosSelToFlat
  427.      _DosFlatToSel
  428.      _pBucketArr
  429.  
  430.  
  431. 00003:simon (OFFSET:0x000008e0, SIZE:0x00000428):
  432.  - Public Definitions:
  433.      simon
  434.  
  435.  - External Definitions:
  436.      _ilog2
  437.      hazlett                            <- 00002:hazlett
  438.      francis                            <- 00000:francis
  439.      _critlib_except
  440.      _DosSelToFlat
  441.      _DosFlatToSel
  442.      _pBucketArr
  443.  
  444.  
  445. 00004:kehm (OFFSET:0x00000d10, SIZE:0x00000342):
  446.  - Public Definitions:
  447.      _kehm
  448.  
  449.  - External Definitions:
  450.      DosFreeMem
  451.      _critlib_except
  452.      _DosSelToFlat
  453.      _DosFlatToSel
  454.      _pBucketArr
  455.  
  456. The following information describes the characteristics of the library. 
  457.  
  458. Page size = 16
  459.  
  460. The Flags field determines case sensitivity. 0x1 indicates case sensitivity. 
  461. 0x0 indicates no case sensitivity. 
  462.  
  463. Flags = 0x0
  464.  
  465. Contains extended dictionary
  466.  
  467. Total number of modules = 5
  468.  
  469. Total bytes for modules = 4592
  470.  
  471. Total number of symbols in dictionary = 10
  472.  
  473. Maximum number of symbols in dictionary = 74
  474.  
  475. Total number of pages for the dictionary = 2
  476.  
  477. The following is the extended dictionary information. The number in parentheses 
  478. indicates the number of dependencies. It is followed by the list of modules 
  479.  
  480. In this case, modules 0, 2, and 4 have no dependencies, module 1 is dependent 
  481. on module 0, and module 3 is dependent on modules 0 and 2. 
  482.  
  483. ======== Dependencies by Module ========
  484. Module 00000 : (00000)
  485. Module 00001 : (00001) 00000
  486. Module 00002 : (00000)
  487. Module 00003 : (00002) 00000 00002
  488. Module 00004 : (00000)
  489.  
  490.  
  491. ΓòÉΓòÉΓòÉ 8. Commands ΓòÉΓòÉΓòÉ
  492.  
  493. LIB commands are used to manipulate modules in a library. A single LIB run uses 
  494. multiple commands in any order. 
  495.  
  496. Each command consists of a one or two character command symbol immediately 
  497. followed by the name of the module or file that is the subject of the command. 
  498. For example, 
  499.  
  500. +EFREM.OBJ
  501.  
  502. adds the EFREM.OBJ object file to a library as EFREM. 
  503.  
  504. Command   Action 
  505.  
  506. [+]  Adds an object file or library to a library 
  507.  
  508. -    Deletes a module from a library 
  509.  
  510. -+   Replaces a module in a library 
  511.  
  512. *    Copies a module from a library to an object file 
  513.  
  514. -*   Moves a module (copies the module and then deletes it) 
  515.  
  516. Notes 
  517.  
  518. o If you want to enter more commands than can be conveniently entered on one 
  519.   line, type an ampersand (&) and press Enter at the end of the line. This 
  520.   extends the command field to the next line. 
  521.  
  522. o When processing commands, LIB processes all copy commands first. LIB then 
  523.   processes the deletions and processes the additions last. 
  524.  
  525. o LIB never makes changes to your input library while it runs; it copies the 
  526.   library and makes changes to that copy. However, if you don't specify an 
  527.   output library, LIB overwrites the input library with the modified copy at 
  528.   the end of normal processing. See Using the LIB Command Line for more 
  529.   information. 
  530.  
  531.  
  532. ΓòÉΓòÉΓòÉ 8.1. Add Command (+) ΓòÉΓòÉΓòÉ
  533.  
  534. Use the add command to add an object module or library to a library. The add 
  535. command is issued using the plus (+) sign or leaving a blank space. 
  536.  
  537. Adding an Object Module to a Library 
  538.  
  539. Type the name of the object file to be added immediately after the plus sign. 
  540. The ".OBJ" extension may be omitted. 
  541.  
  542. LIB uses the base name of the object file as the name of the object module in 
  543. the library. For example, if the object file B:\CURSOR.OBJ is added to a 
  544. library file, the name of the corresponding object module is CURSOR. 
  545.  
  546. Object modules are always added to the end of a library file. 
  547.  
  548. Combining Two Libraries 
  549.  
  550. Give the name of the library file to be added, including the ".LIB" extension, 
  551. immediately after the plus sign (+). A copy of the contents of that library is 
  552. added to the library file being modified. If both libraries contain a module 
  553. with the same name, LIB ignores the second module with that name. 
  554.  
  555. LIB adds the modules of the library to the end of the library being changed. 
  556. Note that the added library still exists as an independent library because LIB 
  557. copies the modules without deleting them. 
  558.  
  559. Examples 
  560.  
  561. LIB MYLIB +EFREM;
  562.  
  563. The command above adds the file EFREM.OBJ to the library MYLIB.LIB. 
  564.  
  565. LIB NEWLIB +KAREN.LIB;
  566.  
  567. The command above adds the contents of the library KAREN.LIB to the library 
  568. NEWLIB.LIB. The library KAREN.LIB is unchanged after this command is executed. 
  569.  
  570.  
  571. ΓòÉΓòÉΓòÉ 8.2. Delete Command (-) ΓòÉΓòÉΓòÉ
  572.  
  573. Use the delete command (-) to delete an object module from a library. After the 
  574. minus sign, give the name of the module to be deleted. Module names do not have 
  575. path names or extensions. 
  576.  
  577. Example 
  578.  
  579. LIB MYLIB -EFREM;
  580.  
  581. The command above deletes the module EFREM from the library MYLIB.LIB. 
  582.  
  583.  
  584. ΓòÉΓòÉΓòÉ 8.3. Replace Command (-+) ΓòÉΓòÉΓòÉ
  585.  
  586. Use the replace command (-+) to replace a module in a library. Following the 
  587. symbol, give the name of the module to be replaced. 
  588.  
  589. To replace a module, LIB performs the following steps: 
  590.  
  591.  1. Deletes the existing module 
  592.  
  593.  2. Searches the current directory for the ".OBJ" file with the same file name 
  594.     as the deleted module 
  595.  
  596.  3. Appends to the library a copy of the object file with the original module 
  597.     name 
  598.  
  599. Example 
  600.  
  601. LIB MYLIB -+EFREM;
  602.  
  603. The command above replaces the module EFREM in the MYLIB.LIB library with the 
  604. contents of EFREM.OBJ from the current directory. The file EFREM.OBJ in the 
  605. current directory is not altered. 
  606.  
  607.  
  608. ΓòÉΓòÉΓòÉ 8.4. Copy Command (*) ΓòÉΓòÉΓòÉ
  609.  
  610. Use the copy command (*) to copy a module from the library into an object file 
  611. of the same name. The module remains in the library. 
  612.  
  613. When LIB copies the module to an object file, it adds the ".OBJ" extension to 
  614. the module name and places the file in the current directory. If a file with 
  615. this name already exists, LIB overwrites the existing ".OBJ" file. 
  616.  
  617. Example 
  618.  
  619. LIB MYLIB *EFREM;
  620.  
  621. The command above copies the module EFREM from the MYLIB.LIB library to a file 
  622. called EFREM.OBJ in the current directory. The module EFREM in MYLIB.LIB is not 
  623. altered. 
  624.  
  625.  
  626. ΓòÉΓòÉΓòÉ 8.5. Move Command (-*) ΓòÉΓòÉΓòÉ
  627.  
  628. Use the move command (-*) to copy an object module from the library file to an 
  629. object file. The object module is then deleted from the library file. This 
  630. operation is equivalent to copying the module to an object file, then deleting 
  631. the module from the library. 
  632.  
  633. Example 
  634.  
  635. LIB MYLIB -*KEELING;
  636.  
  637. The command above moves the module KEELING from the MYLIB.LIB library to a file 
  638. called KEELING.OBJ in the current directory. Upon completion of this process, 
  639. MYLIB.LIB no longer contains the module KEELING. 
  640.  
  641.  
  642. ΓòÉΓòÉΓòÉ 9. Options ΓòÉΓòÉΓòÉ
  643.  
  644. Usage Notes: 
  645.  
  646. o Option characters are not case sensitive; /H and /h are equivalent. 
  647. o The characters in brackets can be omitted; /H and /HELP are equivalent. 
  648. o Unless otherwise specified, most options and commands need only the first 
  649.   letter of their names to be used. 
  650.  
  651. The following is a summary of LIB options: 
  652.  
  653. Option                  Action 
  654.  
  655. /? or ? or /H[ELP]      Display Help 
  656.  
  657. /I[GNORECASE]           Turn Case Sensitivity Off 
  658.  
  659. /NOE[XTDICTIONARY]      Disable Generation of Extended Dictionary 
  660.  
  661. /NOI[GNORECASE]         Turn Case Sensitivity On 
  662.  
  663. /NOL[OGO]               Suppress LIB Banner 
  664.  
  665. /Q[UIET]                Suppress LIB Banner 
  666.  
  667. /P[AGESIZE]             Set Library Page Size 
  668.  
  669. /L[ISTLEVEL]            List Current Contents of Library 
  670.  
  671.  
  672. ΓòÉΓòÉΓòÉ 9.1. /I Option ΓòÉΓòÉΓòÉ
  673.  
  674. Turn Case Sensitivity Off (/I) 
  675.  
  676. Syntax:  /I[GNORECASE] 
  677.  
  678. Purpose:  Turns off case sensitivity for symbols 
  679.  
  680. By default, case sensitivity is off. Use this option when you are combining a 
  681. library that was created with  case sensitivity on (using the /NOI option) with 
  682. others that are not case sensitive.  The resulting library is not case 
  683. sensitive. 
  684.  
  685.  
  686. ΓòÉΓòÉΓòÉ 9.2. /NOE Option ΓòÉΓòÉΓòÉ
  687.  
  688. Disable Generation of Extended Dictionary (/NOE) 
  689.  
  690. Syntax:  /NOE[XTDICTIONARY] 
  691.  
  692. Purpose: Disables generation of extended dictionary 
  693.  
  694. The extended dictionary is an optional part of the library that increases 
  695. linking speed. However, using an extended dictionary requires more memory. The 
  696. space reserved for the extended dictionary is limited to 64K, no more can be 
  697. allocated. If LIB reports an out-of-memory error, you may want to use this 
  698. option. As an alternative, you can split large libraries into smaller libraries 
  699. to use in linking. 
  700.  
  701.  
  702. ΓòÉΓòÉΓòÉ 9.3. /NOI Option ΓòÉΓòÉΓòÉ
  703.  
  704. Turn Case Sensitivity On (/NOI) 
  705.  
  706. Syntax:  /NOI[GNORECASE] 
  707.  
  708. Purpose:  Turns on case sensitivity 
  709.  
  710. By default, case sensitivity is off (/I option). Using this option allows 
  711. symbols that differ only in case, such as Sine and SINE, to be included as 
  712. separate symbols in the same library. 
  713.  
  714. Note that when you create a library with the /NOI option, LIB marks the library 
  715. internally to indicate that /NOI is in effect. If you combine multiple 
  716. libraries, and any one of them is marked /NOI, then the output library is 
  717. marked /NOI. 
  718.  
  719.  
  720. ΓòÉΓòÉΓòÉ 9.4. /P Option ΓòÉΓòÉΓòÉ
  721.  
  722. Set Library Page Size (/P) 
  723.  
  724. Syntax:  /P[AGESIZE]: n 
  725.  
  726. Purpose:  Sets library page size 
  727.  
  728. This option specifies the library page size of a new library or changes that of 
  729. an existing library. The new page size n must be an integer value representing 
  730. a power of 2 between the values 16 and 32,768. 
  731.  
  732. A library's page size affects the alignment of modules stored in the library. 
  733. Modules are always aligned to start at a position that is a multiple of the 
  734. page size (in bytes) from the beginning of the file. The default page size for 
  735. a new library is 16 bytes. For an existing library, the default is its current 
  736. page size. 
  737.  
  738. Because of LIB's indexing technique, the larger the page size, the more modules 
  739. a library can hold. Each module requires an average of n/2 bytes of storage 
  740. space. Therefore, you should use a small page size unless you need to put a 
  741. very large number of modules in a library. 
  742.  
  743. Another consequence of LIB's indexing technique is that the page size limits 
  744. the size of the library file to n * 65,536. For example, the option /P:16 
  745. limits the size to 1 megabyte (16 * 65,536 bytes). 
  746.  
  747.  
  748. ΓòÉΓòÉΓòÉ 9.5. / ? or ? or /H Option ΓòÉΓòÉΓòÉ
  749.  
  750. Display Help 
  751.  
  752. Syntax:   /H[ELP] 
  753.           or 
  754.           /? 
  755.           or 
  756.           ? 
  757.  
  758. Purpose:  Displays help on LIB 
  759.  
  760. A brief summary of LIB syntax is displayed. 
  761.  
  762.  
  763. ΓòÉΓòÉΓòÉ 9.6. /NOL or /Q Option ΓòÉΓòÉΓòÉ
  764.  
  765. Suppress LIB Banner 
  766.  
  767. Syntax:  /NOL[OGO] or /Q[UIET] 
  768.  
  769. Purpose:  Suppresses the LIB copyright notice. 
  770.  
  771. This option suppresses the banner message when LIB is started. It can be used 
  772. in batch files. 
  773.  
  774.  
  775. ΓòÉΓòÉΓòÉ <hidden> Library ΓòÉΓòÉΓòÉ
  776.  
  777. A library is an organized collection of object code which contains functions 
  778. and data that are already assembled or compiled. Once an object file is 
  779. incorporated into a library, it becomes an object module. 
  780.  
  781. Libraries are used to: 
  782.  
  783. o Support high level languages. Most compilers include libraries to perform 
  784.   standard operations, such as input/output and floating-point mathematics. 
  785.  
  786.   When your program refers to a library routine, the compiler and linker 
  787.   combine the library routine with your program. 
  788.  
  789. o Perform complex and specialized activities, such as database management or 
  790.   advanced graphics. You can use your own libraries or specialized libraries 
  791.   supplied by a vendor. 
  792.  
  793. o Support your own work. If you have created routines that you use with a 
  794.   variety of programs, you may want to consolidate these routines into a 
  795.   library. You can then link to one library. 
  796.  
  797.  
  798. ΓòÉΓòÉΓòÉ <hidden> Output Library ΓòÉΓòÉΓòÉ
  799.  
  800. If you specify a file in outlibrary, LIB creates a new output file with the 
  801. modifications and leaves your input file intact. Otherwise, LIB replaces your 
  802. input file with the modified file. In the latter case, a backup of your 
  803. original input file is stored in the current directory with the file name 
  804. extension ".BAK". 
  805.  
  806.  
  807. ΓòÉΓòÉΓòÉ <hidden> Object File ΓòÉΓòÉΓòÉ
  808.  
  809. An object file is produced by a compiler or assembler from one or more source 
  810. files. An object file has an extension of ".OBJ". (as in "MYPROJ.OBJ").  In 
  811. LIB, HPFS file names are also supported as long as the file name ends with 
  812. ".OBJ" (as in "MYOBJECTFILE.NEW.OBJ"). 
  813.  
  814.  
  815. ΓòÉΓòÉΓòÉ <hidden> Object Module ΓòÉΓòÉΓòÉ
  816.  
  817. The object module is a self-contained unit within a library of precompiled or 
  818. preassembled routines. When individual object files are combined into a single 
  819. library file, they become object modules. 
  820.  
  821. In LIB, an object module is referred to by its name, without a file extension. 
  822. For example, assume that the object file KEELING.OBJ is inserted into a 
  823. library. It then becomes an object module and is simply referred to as KEELING.