Plauger's Standard C Library Source
Rex Jaeschke
rex at aussie.COM
Sat Mar 9 11:35:41 AEST 1991
In a recent posting reply I mentioned in passing that PJ Plauger was going
to make available source to a complete Standard C library. Here's the
details I promised to post when I found them out.
The name of the book is ``The Standard C
Library.'' It will be published by Prentice-Hall
about midyear/ the book selling for ca. $27. It
contains about 9,000 lines of (dense) C code,
covering essentially the entire Standard C
library. (I wave my arms over things like setjmp
and longjmp.)
R&D Publications (The C Users Journal, The C
Users Group, Tech Specialist) in Lawrence KS will
sell the machine-readable for ca. $50. It is
NOT public-domain code, nor is it shareware, nor
is it protected by ``copyleft.'' I retain the
copyright. Nevertheless, I permit anybody to
muck with the source code on a single machine at
a time. You can also compile and bind library
code into executables, then distribute copies of
the executables with no additional royalty.
If you want to distribute copies of unbound
binaries of the library, however, or of the
source code, you have to pay for a license. Plum
Hall Inc. of Cardiff NJ will handle licensing
and support. We are hammering out terms right
now. My goal is to make the library cheap enough
that even vendors who have Standard C compliant
libraries will be encouraged to buy ``mineral
rights.'' They can pick and choose any functions
that might supplement what they already have.
The code includes VERY flexible support for
multibyte and wide characters. You actually
program finite-state machines to recognize and
translate a broad class of character codes. The
library also includes fairly ambitious support
for locales. You can write text files fairly
easily that specify all sorts of locale-specific
information. Function setlocale can read a
locale file at runtime to set part or all of the
locale you specify.
The math library is also pretty good. My goal is to have no
math function lose more than two bits of precision for any
argument. I'm close, but not quite there yet. I provide
primitives that adapt easily to IEEE 2/4/8-byte floating-point
and VAX/PDP-11 as well. If you want something dramatically
different, you'll have to work over half a dozen semi-numerical
primitives.
Rex
----------------------------------------------------------------------------
Rex Jaeschke | Journal of C Language Translation | C Users Journal
(703) 860-0091 | 2051 Swans Neck Way | DEC PROFESSIONAL
rex at aussie.COM | Reston, Virginia 22091, USA | Programmers Journal
----------------------------------------------------------------------------
Convener of the Numerical C Extensions Group (NCEG)
X3J11 member and US International Representative to ISO C (WG14)
----------------------------------------------------------------------------
More information about the Comp.std.c
mailing list