]> pd.if.org Git - pdclib/blob - man3/pdclib.3
Getting stdlib.h to C11.
[pdclib] / man3 / pdclib.3
1 .\" This file is part of the Public Domain C Library (PDCLib).\r
2 .\" Permission is granted to use, modify, and / or redistribute at will.\r
3 .\"\r
4 .Dd\r
5 .Dt PDCLIB 3\r
6 .Os\r
7 .\"\r
8 .Sh NAME\r
9 .Nm PDCLib\r
10 .Nd Public domain, portable C library\r
11 .\"\r
12 .Sh LIBRARY\r
13 .Lb pdclib\r
14 .Sh SYNOPSIS\r
15 .In assert.h\r
16 .In ctype.h\r
17 .In errno.h\r
18 .In inttypes.h\r
19 .In iso646.h\r
20 .In limits.h\r
21 .In locale.h\r
22 .In signal.h\r
23 .In stdarg.h\r
24 .In stdbool.h\r
25 .In stddef.h\r
26 .In stdint.h\r
27 .In stdio.h\r
28 .In stdlib.h\r
29 .In stdnoreturn.h\r
30 .In string.h\r
31 .In threads.h\r
32 .In time.h\r
33 .In wchar.h\r
34 .\"\r
35 .Sh DESCRIPTION\r
36 The\r
37 .Nm\r
38 library is a portable, public domain C library. It aims at full conformance with\r
39 ISO C89, C95, C99 and C11 when used in combination with a conformant compiler. \r
40 In addition, it aims at conformance with the portion of ISO C++97 and C++2011 \r
41 which is derived from said standards.\r
42 .Pp\r
43 .Nm\r
44 aims for strict conformance with the selected C/C++ standard. Therefore, unlike\r
45 most C libraries, it does not by default expose any extensions. Some extensions\r
46 (from POSIX or the Single Unix Specification) can be selected by defining the \r
47 appropriate feature selection macro, such as \r
48 .Dv _POSIX_C_SOURCE\r
49 or\r
50 .Dv _XOPEN_SOURCE\r
51 to the appropriate value. For example, in the following definition:\r
52 .Bd -offset indent\r
53 .Sy #define _XOPEN_SOURCE || _POSIX_C_SOURCE >= 200809L\r
54 .br\r
55 .Sy #include\r
56 .In string.h\r
57 .br\r
58 .Fn "char * strdup" "const char *"\r
59 .Ed\r
60 .\"\r
61 it is documented that defining either \r
62 .Dv _XOPEN_SOURCE\r
63 or\r
64 .Dv _POSIX_C_SOURCE\r
65 to have a value greater than\r
66 .Li 200809L\r
67 before the first inclusion of\r
68 .In string.h\r
69 will expose a definition of the function\r
70 .Fn strdup\r
71 .\"\r
72 .Sh SEE ALSO\r
73 .Xr cc 1 ,\r
74 .Xr c++ 7\r
75 .Sh STANDARDS\r
76 When compiled with a C compiler, conformant with \r
77 .St -isoC-90 ,\r
78 .St -isoC-amd1 ,\r
79 .St -isoC-tcor1 ,\r
80 .St -isoC-tcor2 ,\r
81 .St -isoC-99 or\r
82 .St -isoC-2011\r
83 as dependent upon the version of C the compiler declares conformance with.\r
84 .Pp\r
85 When compiled with a C++ compiler, conformant with ISO/IEC 14882:1997 or ISO/IEC\r
86 14882:2011 "The C++ Programming Language" as dependent upon the version of C++\r
87 the compiler declares conformance with.\r
88 .Sh AUTHORS\r
89 The\r
90 .Nm\r
91 library is maintained by by\r
92 .An Owen Shepherd ,\r
93 .Mt pdclib@owenshepherd.net .\r
94 Based upon work by\r
95 .An Martin "Solar" Baute ,\r
96 .Mt solar@rootdirectory.de .