-
Notifications
You must be signed in to change notification settings - Fork 0
/
preface.texi
62 lines (48 loc) · 2.86 KB
/
preface.texi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
@c This is part of The GNU C Reference Manual
@c Copyright (C) 2007-2009 Free Software Foundation, Inc.
@c See the file gnu-c-manual.texi for copying conditions.
@node Preface
@unnumbered Preface
@cindex preface
This is a reference manual for the GNU C programming language: the
C programming language as implemented by the GNU C compiler.
GCC supports several variants of C; this manual ultimately aims to
explicitly document three of them:
@itemize
@item The original 1989 ANSI C standard, commonly known as ``C89''
@item The revised 1999 ISO C standard, commonly known as ``C99''
@item The current state of GNU extensions to standard C
@end itemize
By default, GCC will compile code as C89 plus GNU-specific extensions. Much
of C99 is supported; once full support is available, the default compilation
dialect will be C99 plus GNU-specific extensions. (Note that some of the
GNU extensions to C89 ended up, sometimes slightly modified, as standard
language features in C99.)
@c Except as specified, this manual describes C89. Language features that are
@c available only in C99 or as a GNU extension are labelled as such.
This manual describes mainly C89. Some descriptions of C99 features and
GNU extensions are included (with more coming in future releases), and are
labeled as such. While most users of GCC are free to use the latest and greatest
additions to the compiler, some users must continue to use older versions of
GCC. (For example, avionics programmers typically cannot switch to newer compiler
versions without the compiler being verified for their use, a time-consuming process
infrequently completed.) For this reason, we feel that a clear distinction
between C dialects will be useful to our readers.
The C language includes a set of preprocessor directives, which are used for
things such as macro text replacement, conditional compilation, and file
inclusion. Although normally described in a C language manual, the GNU C
preprocessor has been thoroughly documented in @cite{The C Preprocessor},
a separate manual which covers preprocessing for C, C++, and Objective
C programs, so it is not included here.
A number of people have contributed to this manual. Trevis Rothwell wrote
most of the text as serves as project maintainer. Other contributors, who have
helped with writing, editing, proofreading, ideas, typesetting, and/ or
administrative details, include: Nelson H.@tie{}F.@tie{}Beebe, Karl Berry,
Robert Chassell, Andreas Foerster, Denver Gingerich, Lisa Goldstein, Robert
Hansen, Jean-Christophe Helary, Teddy Hogeborn, Joe Humphries, J.@tie{}Wren Hunt,
Adam Johansen, Steve Morningthunder,
Richard Stallman, J.@tie{}Otto Tennant, Ole Tetlie, Keith Thompson, T.F. Torrey, and
James Youngman.
Some example programs are based on algorithms in Donald Knuth's @cite{The Art
of Computer Programming}.
Please send bug reports and suggestions to @email{gnu-c-manual@@gnu.org}.