Kenwood HP 9000 Personal Computer User Manual


 
46 Chapter 2
What Happens When You Compile and Link a Program
Linking with Libraries
Linking with Libraries
In addition to matching external references to global definitions in object
files, ld matches external references to global definitions in libraries. A
library is a file containing object code for subroutines and data that can
be used by other programs. For example, the standard C library, libc,
contains object code for functions that can be used by C, C++, FORTRAN,
and Pascal programs to do input, output, and other standard operations.
Library Naming Conventions
By convention, library names have the form:
libname.suffix
name is a string of one or more characters that identifies the
library.
suffix is .a if the library is an archive library or .sl if the
library is a shared library. suffix is a number, for
example .0, .1, and so forth, if library-level versioning
is being used.
Typically, library names are referred to without the suffix. For instance,
the standard C library is referred to as libc.
Default Libraries
A compiler driver automatically specifies certain default libraries when
it invokes ld. For example, cc automatically links in the standard
library libc, as shown by the -lc option to ld in this example:
$ cc -Aa -v main.c func.c
...
/usr/ccs/bin/ld /opt/langtools/lib/crt0.o -u main main.o \
func.o -lc
cc: Entering Link editor.
Similarly, the Series 700/800 FORTRAN compiler automatically links
with the libcl (C interface), libisamstub (ISAM file I/O), and libc
libraries: