Next: Makefiles
Up: Subroutines, functions, and libraries
Previous: Header files
Contents
Index
Libraries
For maintaining large numbers of subroutines, it may
be useful to use what is known as a library.
For example, suppose we have placed the sources
for some number of subroutines in a couple of
files, sub1.c and sub2.c. Compiling them
as
cc -c sub1.c
cc -c sub2.c
will produce two object files, as before. However,
rather than including the object files when
compiling a main program that uses some of these
routines, we can first create a library (or archive)
as
ar -rv libmy_subs.a sub1.o sub2.o
using the ar function on Unix, or as
tlib my_lib.lib -+sub1.obj
tlib my_lib.lib -+sub2.obj
using Borland's compiler on Win32. Linking a program against
these libraries can then be done as
cc -o my_prog my_prog.c -L. -lmy_subs
on Unix, or as
bcc32 -o my_prog.c my_lib.lib
on Win32. Note the use of the -L switch, which
can be used to specify directories to include when
searching for libraries. Also note the convention
followed for library names on Unix - a library
called libmy_subs.a is included through the
use of the -l switch as -lmy_subs,
without the lib prefix and without the tt .a extension.