rex@aussie.COM (Rex Jaeschke) (03/09/91)
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@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) ----------------------------------------------------------------------------