home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Phoenix CD 2.0
/
Phoenix_CD.cdr
/
01e
/
lib_link.zip
/
LIB&LINK.TXT
< prev
next >
Wrap
Text File
|
1987-12-03
|
19KB
|
453 lines
****************************
* *
* LIBRARY and LINKER *
* *
* UTILITY *
* *
****************************
Gary LaRonge
11436 Littlerock Rd. S.W.
Olympia, Washington
98502
-INTRODUCTION-
This program is a utility for Microsoft's (tm) LIB.EXE and
LINK.EXE, two utilities published by Microsoft Corporation that
create and modify library files used with the linker and to chain
library files together, respectively.
Those of you that have used either LIB.EXE or LINK.EXE will
already understand the need for "another way", particularly in
the case of LIB.EXE. For those of you that haven't used LIB.EXE,
try it and then you too will see what a problem it is to use.
After typing in 50 or 75 filenames to be included in your library
only to have LIB.EXE crash can be depressing. Hopefully LIB&LINK
will solve those types of problems.
The LIBRARY module of LIB&LINK is used to create a library,
add files to, delete files from, or replace files within an
existing library, while the LINK module is used to create an
[.EXE] file using the [.OBJ] files contained within your library.
I must emphasize that LIB&LINK is only a maintenance tool and
will not create libraries or perform any linking functions
without access to Microsoft's LIB.EXE and LINK.EXE. If you have
those files available, LIB&LINK will save you a lot of time and
frustration.
LIB&LINK was written with Microsoft (tm) QuickBASIC
programmers in mind, however it is possible that it may be of
some value to other highlevel language programmers and perhaps
those that believe in the nitty-gritty, the MASM group.
Programmers using other than QuickBASIC might find the lack of
access to the linker switches a problem. If not, it may also be
of value to you. If it is discovered that some changes will
increase this programs useability, I would appreciate being made
aware of the desired changes.
-CREDITS-
The window routines in this program were written by Dave
Evers and may be found in his package BASWIND. If you program in
QuickBASIC and have need for a number of various handy routines,
I suggest you take a look at Dave's work. As someone said, there
is no need reinventing the wheel. Dave's routines are available
on many local bulletin boards as well as most of the major on-
line services.
-1-
SETTING UP
HARD DISK Users- It is easiest to place all needed files in
the same directory and generate your libraries and execute the
linking operations in the same directory.
The required files are;
LIB&LINK.EXE
LIB.EXE
LINK.EXE
BCOMxx.LIB
SOURCE.OBJ files that are to be included in the library.
Any USERLIB's that have already been created.
The [.OBJ] file created from the QuickBASIC source code.
FLOPPY DISK users- Three diskettes are required to contain
the necessary files. Two of the diskettes, the two that are
designated to be used in drive A: will also need to be formatted
with the /S option because the system files are also required.
The files on a given disk will be determined by the desired
action, LIBing or LINKing.
Case 1- Library creation and/or maintenance;
Drive A Drive B
COMMAND.COM BCOMxx.LIB
LIB&LINK.EXE USERLIB's
LIB.EXE
SOURCE.OBJ files to be included in library.
NOTE- The USERLIB's are written to Drive B
Case 2- Linking;
Drive A Drive B
COMMAND.COM The same diskette
LIB&LINK.EXE used above
LINK.EXE
SOURCE.OBJ (for the [.EXE] file)
NOTE- The [.EXE] file is written to Drive A
The diskette file assignments were selected to provide the
best use of diskette space. When the file operations are
completed, you may copy them to a more appropriate diskette and
erase them from your LIB and LINK diskettes regaining the space
for future use.
-2-
FEATURE DESCRIPTIONS
USING THE LIBRARIAN MODULE
When LIB&LINK is invoked, a menu will be presented that
provides the following options;
Select [.LIB] drive
Create or Select [.LIB]
Replace [.OBJ] file(s)
List files in [.LIB]
Add [.OBJ] files
Delete [.OBJ] files
Create [.EXE] file
End LIB&LINK
When the first menu selection is completed, the current
drive/directory is checked for the presence of LIB.EXE, if it
cannot be found a message will so indicate. The program returns
to the menu allowing an orderly exit to put the missing file in
it's proper place.
SELECT [.LIB] DRIVE-
This selection expects a single keystroke entry defining the
drive in which the library files may be found. <ENTER> indicates
the current directory/drive. The floppy disk folks would normally
enter B, because the diskette with the [.LIB] files is not
supposed to be in drive A:. In the event an "A" is entered as the
[.LIB] drive, the program will point out your error.
<C>REATE OR <S>ELECT [.LIB]-
If <S>elect is the choice, a pop-up window will display all
library files found in the designated directory/drive. Simply tag
the library of interest and press <ENTER>. You are not allowed to
tag "BCOM" or "BRUN" libraries or to tag more than one library.
If no files are tagged, a message will be displayed and back to
the menu we go. File operations will not be allowed until a
library is <S>elected or <C>reated.
REPLACE [.OBJ] FILE(S)-
Assuming you have already created a library and have since
modified one or more of the [.OBJ] files contained within the
library, this choice will allow the library to be updated. Again,
a pop-up window will display all [.OBJ] files in the current
directory/drive. Tag the files to be replaced and press <ENTER>.
Only the files tagged will be replaced in the chosen library. No
files selected will display a message and return to the menu
aborting this operation.
-3-
LIST FILES IN [.LIB]-
The list of files contained in the file <libraryname>.FIL,
which was written when the library was created, will be printed
on the screen along with a total of the number of files in the
library. The file <libraryname>.FIL must always be available with
<libraryname>.LIB. When libraries are copied to another diskette,
make sure the related [.FIL]'s are copied with them.
ADD [.OBJ] FILE(S)-
You will be here when creating a library or when you have
obtained new [.OBJ] files that you wish to include in a
previously created library. The window will return displaying the
available [.OBJ] files and again you simply tag the files to be
added. If a tagged file is found to be in the library, you will
be so advised and the duplicate file will be ignored. The
remaining tagged files will be included in the library.
If you would like a [.MAP] file written, answer "Y" at the
next prompt, otherwise "N". If your choose "Y", you will need to
enter a [.MAP] filename or press <ENTER> for the same name as the
library. Filename entries are limited to eight (8) characters and
do not require and will not accept an extension.
A data file is now written and passed to LIB.EXE for final
processing.
DELETE [.OBJ] FILES-
Yep, this one takes them out of a previously created library.
Just Tag the [.OBJ] files you would like removed. If all [.OBJ]
files are deleted from the library, the library and all related
files are erased from the disk and the program resumes at the
menu.
END LIB&LINK-
End of business. Exits to DOS......
WARNING !!!!!!!
If for some reason LIB.EXE should crash before successful
completion of it's designated task, the file <filename>.FIL will
NOT be accurate and therefore it's contents should be ignored.
Determine the cause of the crash and restart the process.
I have taken many precautions to prevent such a happening but
you know MURPHY and his laws! If it can happen, it probably will.
-4-
FEATURE DESCRIPTIONS
USING THE CREATE [.EXE] MODULE
It is this module that uses LINK.EXE to create executable
files from the source [.OBJ] file and the [.OBJ] files contained
in your library. The required data entries are relatively few.
This routine isn't the time saver that the library module is,
it's just very convenient.
As with the other LIB&LINK options, you may go directly to
"Create [.EXE] file". If the [.LIB] drive has not yet been
defined, you will be asked to do so.
The next information needed is the "name of the <source>.OBJ"
file. Here we are talking about the file that you compiled from
the source code for the purpose of linking to an [.EXE] file and
not any of the [.OBJ] files residing in the library. Again, no
filename extension is required and will not be accepted.
"Would you like to add additional [.OBJ] files?" is the next
question. This option is included if you want to use smallerr.obj
for example. The normal response will "N". If you answer "Y",
just tag the appropriate files and press <ENTER>.
"Enter run time [.EXE] file name". <ENTER> to use source
filename or type in the name of your choosing.
"Change disks before writing the [.EXE] file?". The run time
file will be written to the current directory/drive. In the case
of the floppy users this will be drive A. The change disk option
allows the disk in drive A to be changed before the file is
written in case the original disk in drive A is short of space.
"Would you like to write a [.MAP] file?". If you choose "Y",
press <ENTER> to use the source filename or enter the name of
your choice.
Now it's a simple matter of tagging the run time library you
wish to use and as with the library module, a data file wll be
written and passed this time to LINK.EXE for processing.
I have found LIB&LINK to be worth the time and effort
required to write it. My hope is that others of you will feel the
same.
For those of you wishing to contribute $5.00 for it's use, I
would like you to know that it will be accepted with sincere
appreciation.
Gary LaRonge
11436 Littlerock Rd.
Olympia, Washington
98502
-5-
REGISTRATION
Gary LaRonge
11436 Littlerock Rd. S.W.
Olympia, Washington 98502
Program: LIB&LINK.EXE ($5.00)
Received from: (Name of BBS or?)________________________________
Date: ______________
Name: _______________________________________________
Address: ____________________________________________
City, St., Zip: _____________________________________
Comments and/or suggestions: ___________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________