119 lines
5.8 KiB
Groff
119 lines
5.8 KiB
Groff
NAME
|
|
intro - introduction to subroutines and libraries
|
|
|
|
SYNTAX
|
|
#include <stdio.h>
|
|
#include <math.h>
|
|
|
|
DESCRIPTION
|
|
This section describes functions found in various libraries,
|
|
other than those functions that directly invoke UNIX system
|
|
primitives, which are described in Section 2 of this volume.
|
|
Certain major collections are identified by a letter after
|
|
the section number:
|
|
|
|
(3C) These functions, together with those of Section 2 and
|
|
those marked (3S), constitute the Standard C Library
|
|
libc, which is automatically loaded by the C compiler,
|
|
cc(1). The link editor ld(1) searches this library
|
|
under the -lc option. Declarations for some of these
|
|
functions may be obtained from #include files
|
|
indicated on the appropriate pages.
|
|
|
|
(3S) These functions constitute the ``standard I/O
|
|
package'' [see stdio(3S)]. These functions are in the
|
|
library libc, already mentioned. Declarations for
|
|
these functions may be obtained from the #include file
|
|
<stdio.h>.
|
|
|
|
(3M) These functions constitute the Math Library, libm.
|
|
They are automatically loaded as needed by the FORTRAN
|
|
compiler f77(1). They are not automatically loaded by
|
|
the C compiler, cc(1); however, the link editor
|
|
searches this library under the -lm option.
|
|
Declarations for these functions may be obtained from
|
|
the #include file <math.h>. Several generally useful
|
|
mathematical constants are also defined there [see
|
|
math(5)].
|
|
|
|
(3X) Various specialized libraries. The files in which
|
|
these libraries are found are given on the appropriate
|
|
pages.
|
|
|
|
(3F) These functions constitute the FORTRAN intrinsic
|
|
function library, libF77. These functions are
|
|
automatically available to the FORTRAN programmer and
|
|
require no special invocation of the compiler.
|
|
There are separate library files for use with small, large
|
|
and huge model programs (see "Files," below). Normally,
|
|
ld(1) automatically selects the correct library file for the
|
|
memory model you are using. However, if you specify the
|
|
library file yourself, be sure that it matches the memory
|
|
model of your program.
|
|
|
|
DEFINITIONS
|
|
A character is any bit pattern able to fit into a byte on
|
|
the machine. The null character is a character with value
|
|
0, represented in the C language as '\0'. A character array
|
|
is a sequence of characters. A null-terminated character
|
|
array is a sequence of characters, the last of which is the
|
|
null character. A string is a designation for a null-
|
|
terminated character array. The null string is a character
|
|
array containing only the null character. A NULL pointer is
|
|
the value that is obtained by casting 0 into a pointer. The
|
|
C language guarantees that this value will not match that of
|
|
any legitimate pointer, so many functions that return
|
|
pointers return it to indicate an error. NULL is defined as
|
|
0 in <stdio.h>; the user can include an appropriate
|
|
definition if not using <stdio.h>.
|
|
|
|
Many groups of FORTRAN intrinsic functions have generic
|
|
function names that do not require explicit or implicit type
|
|
declaration. The type of the function will be determined by
|
|
the type of its argument(s). For example, the generic
|
|
function max will return an integer value if given integer
|
|
arguments (max0), a real value if given real arguments
|
|
(amax1), or a double-precision value if given double-
|
|
precision arguments (dmax1).
|
|
|
|
FILES
|
|
/lib/small/libc.a
|
|
/lib/large/libc.a
|
|
/lib/huge/libc.a
|
|
/lib/small/libm.a
|
|
/lib/large/libm.a
|
|
/lib/huge/libm.a
|
|
/usr/small/lib/libF77.a
|
|
/usr/large/lib/libF77.a
|
|
/usr/huge/lib/libF77.a
|
|
|
|
SEE ALSO
|
|
intro(2), stdio(3S), math(5).
|
|
ar(1), cc(1), f77(1), ld(1), lint(1), nm(1) in the UNIX
|
|
System V User Reference Manual.
|
|
|
|
DIAGNOSTICS
|
|
Functions in the C and Math Libraries (3C and 3M) may return
|
|
the conventional values 0 or _HUGE (the largest-magnitude
|
|
single-precision floating-point numbers; HUGE is defined in
|
|
the <math.h> header file) when the function is undefined for
|
|
the given arguments or when the value is not representable.
|
|
In these cases, the external variable errno [see intro(2)]
|
|
is set to the value EDOM or ERANGE. As many of the FORTRAN
|
|
intrinsic functions use the routines found in the Math
|
|
Library, the same conventions apply.
|
|
|
|
WARNING
|
|
Many of the functions in the libraries call and/or refer to
|
|
other functions and external variables described in this
|
|
section and in section 2 (System Calls). If a program
|
|
inadvertantly defines a function or external variable with
|
|
the same name, the presumed library version of the function
|
|
or external variable may not be loaded. The lint(1) program
|
|
checker reports name conflicts of this kind as ``multiple
|
|
declarations'' of the names in question. Definitions for
|
|
sections 2, 3C, and 3S are checked automatically. Other
|
|
definitions can be included by using the -l option (for
|
|
example, -lm includes definitions for the Math Library,
|
|
section 3M). Use of lint is highly recommended.
|