2000-02-18 03:39:52 +08:00
|
|
|
@node Stdlib
|
|
|
|
@chapter Standard Utility Functions (@file{stdlib.h})
|
|
|
|
|
|
|
|
This chapter groups utility functions useful in a variety of programs.
|
|
|
|
The corresponding declarations are in the header file @file{stdlib.h}.
|
|
|
|
|
|
|
|
@menu
|
2004-09-17 05:15:14 +08:00
|
|
|
* _Exit:: End program execution without cleaning up
|
|
|
|
* a64l:: String to long long
|
2000-02-18 03:39:52 +08:00
|
|
|
* abort:: Abnormal termination of a program
|
|
|
|
* abs:: Integer absolute value (magnitude)
|
|
|
|
* assert:: Macro for Debugging Diagnostics
|
|
|
|
* atexit:: Request execution of functions at program exit
|
|
|
|
* atof:: String to double or float
|
|
|
|
* atoi:: String to integer
|
2003-11-28 03:47:19 +08:00
|
|
|
* atoll:: String to long long
|
2010-01-30 07:04:21 +08:00
|
|
|
* bsearch:: Binary search
|
2000-02-18 03:39:52 +08:00
|
|
|
* calloc:: Allocate space for arrays
|
|
|
|
* div:: Divide two integers
|
|
|
|
* ecvtbuf:: Double or float to string of digits
|
|
|
|
* ecvt:: Double or float to string of digits (malloc result)
|
|
|
|
* __env_lock:: Lock environment list for getenv and setenv
|
|
|
|
* gvcvt:: Format double or float as string
|
|
|
|
* exit:: End program execution
|
|
|
|
* getenv:: Look up environment variable
|
|
|
|
* labs:: Long integer absolute value (magnitude)
|
|
|
|
* ldiv:: Divide two long integers
|
2003-11-28 03:47:19 +08:00
|
|
|
* llabs:: Long long integer absolute value (magnitude)
|
|
|
|
* lldiv:: Divide two long long integers
|
2000-02-18 03:39:52 +08:00
|
|
|
* malloc:: Allocate and manage memory (malloc, realloc, free)
|
|
|
|
* mallinfo:: Get information about allocated memory
|
|
|
|
* __malloc_lock:: Lock memory pool for malloc and free
|
2009-02-26 05:33:18 +08:00
|
|
|
* mbsrtowcs:: Convert a character string to a wide-character string
|
2000-02-18 03:39:52 +08:00
|
|
|
* mbstowcs:: Minimal multibyte string to wide string converter
|
|
|
|
* mblen:: Minimal multibyte length
|
|
|
|
* mbtowc:: Minimal multibyte to wide character converter
|
2004-09-17 05:15:14 +08:00
|
|
|
* on_exit:: Request execution of functions at program exit
|
2010-01-30 07:04:21 +08:00
|
|
|
* qsort:: Array sort
|
2000-02-18 03:39:52 +08:00
|
|
|
* rand:: Pseudo-random numbers
|
2002-05-01 02:23:40 +08:00
|
|
|
* rand48:: Uniformly distributed pseudo-random numbers
|
2000-02-18 03:39:52 +08:00
|
|
|
* strtod:: String to double or float
|
|
|
|
* strtol:: String to long
|
2004-09-17 05:15:14 +08:00
|
|
|
* strtoll:: String to long long
|
2000-02-18 03:39:52 +08:00
|
|
|
* strtoul:: String to unsigned long
|
2004-09-17 05:15:14 +08:00
|
|
|
* strtoull:: String to unsigned long long
|
2009-02-26 05:33:18 +08:00
|
|
|
* wcsrtombs:: Convert a wide-character string to a character string
|
2009-02-13 07:10:01 +08:00
|
|
|
* wcstod:: Wide string to double or float
|
2007-07-07 04:03:28 +08:00
|
|
|
* wcstol:: Wide string to long
|
|
|
|
* wcstoll:: Wide string to long long
|
|
|
|
* wcstoul:: Wide string to unsigned long
|
|
|
|
* wcstoull:: Wide string to unsigned long long
|
2000-02-18 03:39:52 +08:00
|
|
|
* system:: Execute command string
|
|
|
|
* wcstombs:: Minimal wide string to multibyte string converter
|
|
|
|
* wctomb:: Minimal wide character to multibyte converter
|
|
|
|
@end menu
|
|
|
|
|
2004-09-17 05:15:14 +08:00
|
|
|
@page
|
|
|
|
@include stdlib/_Exit.def
|
|
|
|
|
|
|
|
@page
|
|
|
|
@include stdlib/a64l.def
|
|
|
|
|
2000-02-18 03:39:52 +08:00
|
|
|
@page
|
|
|
|
@include stdlib/abort.def
|
|
|
|
|
|
|
|
@page
|
|
|
|
@include stdlib/abs.def
|
|
|
|
|
|
|
|
@page
|
|
|
|
@include stdlib/assert.def
|
|
|
|
|
|
|
|
@page
|
|
|
|
@include stdlib/atexit.def
|
|
|
|
|
|
|
|
@page
|
|
|
|
@include stdlib/atof.def
|
|
|
|
|
|
|
|
@page
|
|
|
|
@include stdlib/atoi.def
|
|
|
|
|
2003-11-28 03:47:19 +08:00
|
|
|
@page
|
|
|
|
@include stdlib/atoll.def
|
|
|
|
|
2010-01-30 07:04:21 +08:00
|
|
|
@page
|
|
|
|
@include search/bsearch.def
|
|
|
|
|
2000-02-18 03:39:52 +08:00
|
|
|
@page
|
|
|
|
@include stdlib/calloc.def
|
|
|
|
|
|
|
|
@page
|
|
|
|
@include stdlib/div.def
|
|
|
|
|
|
|
|
@page
|
|
|
|
@include stdlib/efgcvt.def
|
|
|
|
|
|
|
|
@page
|
|
|
|
@include stdlib/ecvtbuf.def
|
|
|
|
|
|
|
|
@page
|
|
|
|
@include stdlib/envlock.def
|
|
|
|
|
|
|
|
@page
|
|
|
|
@include stdlib/exit.def
|
|
|
|
|
|
|
|
@page
|
|
|
|
@include stdlib/getenv.def
|
|
|
|
|
|
|
|
@page
|
|
|
|
@include stdlib/labs.def
|
|
|
|
|
|
|
|
@page
|
|
|
|
@include stdlib/ldiv.def
|
|
|
|
|
2003-11-28 03:47:19 +08:00
|
|
|
@page
|
|
|
|
@include stdlib/llabs.def
|
|
|
|
|
|
|
|
@page
|
|
|
|
@include stdlib/lldiv.def
|
|
|
|
|
2000-02-18 03:39:52 +08:00
|
|
|
@page
|
|
|
|
@include stdlib/malloc.def
|
|
|
|
|
|
|
|
@page
|
|
|
|
@include stdlib/mstats.def
|
|
|
|
|
|
|
|
@page
|
|
|
|
@include stdlib/mlock.def
|
|
|
|
|
|
|
|
@page
|
|
|
|
@include stdlib/mblen.def
|
|
|
|
|
2009-02-19 17:19:42 +08:00
|
|
|
@page
|
|
|
|
@include stdlib/mbsnrtowcs.def
|
|
|
|
|
2000-02-18 03:39:52 +08:00
|
|
|
@page
|
|
|
|
@include stdlib/mbstowcs.def
|
|
|
|
|
|
|
|
@page
|
|
|
|
@include stdlib/mbtowc.def
|
|
|
|
|
2004-09-17 05:15:14 +08:00
|
|
|
@page
|
|
|
|
@include stdlib/on_exit.def
|
|
|
|
|
2010-01-30 07:04:21 +08:00
|
|
|
@page
|
|
|
|
@include search/qsort.def
|
|
|
|
|
2000-02-18 03:39:52 +08:00
|
|
|
@page
|
|
|
|
@include stdlib/rand.def
|
|
|
|
|
2001-02-14 Kazuhiro Fujieda <fujieda@jaist.ac.jp>
* libc/include/stdlib.h: Add declarations of rand48 functions and
their reentrant versions.
* libc/include/sys/reent.h: Move macros from rand48.h. Add
struct _rand48 for shared parameters of rand48 functions.
(struct _reent): Add a variable _r48 of struct _rand48.
(_REENT_INIT): Add _r48 initialization.
* libc/stdlib/Makefile.am (lib_a_SOURCES): Add rand48 functions.
(CHEWOUT_FILES): Add rand48.def.
* libc/stdlib/Makefile.am: Add dependencies for rand48 functions.
* libc/stdlib/Makefile.in: Regenerated.
* libc/stdlib/drand48.c (drand48, _drand48_r): Derived from the
NetBSD C library.
* libc/stdlib/erand48.c (erand48, _erand48_r): Ditto.
* libc/stdlib/jrand48.c (jrand48, _jrand48_r): Ditto.
* libc/stdlib/lcong48.c (lcong48, _lcong48_r): Ditto.
* libc/stdlib/lrand48.c (lrand48, _lrand48_r): Ditto.
* libc/stdlib/mrand48.c (mrand48, _mrand48_r): Ditto.
* libc/stdlib/nrand48.c (nrand48, _nrand48_r): Ditto.
* libc/stdlib/seed48.c (seed48, _seed48_r): Ditto.
* libc/stdlib/srand48.c (srand48, _srand48_r): Ditto.
* libc/stdlib/rand48.c (__dorand48): Ditto.
* libc/stdlib/rand48.h: Ditto, and modify declarations of global
parameters into macros referring them in the reentrant structure.
2001-02-15 10:04:55 +08:00
|
|
|
@page
|
|
|
|
@include stdlib/rand48.def
|
|
|
|
|
2000-02-18 03:39:52 +08:00
|
|
|
@page
|
|
|
|
@include stdlib/strtod.def
|
|
|
|
|
|
|
|
@page
|
|
|
|
@include stdlib/strtol.def
|
|
|
|
|
2004-09-17 05:15:14 +08:00
|
|
|
@page
|
|
|
|
@include stdlib/strtoll.def
|
|
|
|
|
2000-02-18 03:39:52 +08:00
|
|
|
@page
|
|
|
|
@include stdlib/strtoul.def
|
|
|
|
|
2004-09-17 05:15:14 +08:00
|
|
|
@page
|
|
|
|
@include stdlib/strtoull.def
|
|
|
|
|
2009-02-19 17:19:42 +08:00
|
|
|
@page
|
|
|
|
@include stdlib/wcsnrtombs.def
|
|
|
|
|
2009-02-13 07:10:01 +08:00
|
|
|
@page
|
|
|
|
@include stdlib/wcstod.def
|
|
|
|
|
2007-07-07 04:03:28 +08:00
|
|
|
@page
|
|
|
|
@include stdlib/wcstol.def
|
|
|
|
|
|
|
|
@page
|
|
|
|
@include stdlib/wcstoll.def
|
|
|
|
|
|
|
|
@page
|
|
|
|
@include stdlib/wcstoul.def
|
|
|
|
|
|
|
|
@page
|
|
|
|
@include stdlib/wcstoull.def
|
|
|
|
|
2000-02-18 03:39:52 +08:00
|
|
|
@page
|
|
|
|
@include stdlib/system.def
|
|
|
|
|
|
|
|
@page
|
|
|
|
@include stdlib/wcstombs.def
|
|
|
|
|
|
|
|
@page
|
|
|
|
@include stdlib/wctomb.def
|
|
|
|
|