Changed sulogin's respawn in inittab to 'once'
[linux_from_scratch.git] / BOOK / appendixa / gcc-desc.xml
blob17aa68099461d4cebba1f1a6fb353445e34b109d
1 <sect2><title>Contents of GCC</title>
3 <para>Last checked against version &gcc-contversion;.</para>
5 <sect3><title>Program Files</title>
6 <para>c++, c++filt, cc (link to gcc), cc1, cc1plus, collect2, cpp, cpp0,
7 g++, gcc, gccbug, gcov and tradcpp0</para></sect3>
9 <sect3><title>Descriptions</title>
11 <sect4><title>cc, cc1, cc1plus, gcc</title>
12 <para>These are the C compiler.  A compiler translates source code in
13 text format to a format that a computer understands. After a source code 
14 file is compiled into an object file, a linker will create an executable 
15 file from one or more of these compiler generated object files.</para></sect4>
17 <sect4><title>c++, cc1plus, g++</title>
18 <para>These are the C++ compiler; the equivalent of cc and 
19 gcc etc.</para></sect4>
21 <sect4><title>c++filt</title>
22 <para>The C++ language provides function overloading, which means that it is
23 possible to write many functions with the same name (providing each takes
24 parameters of different types).  All C++ function names are encoded into
25 a low-level assembly label (this process is known as mangling). The c++filt
26 program does the inverse mapping: it decodes (demangles) low-level names
27 into user-level names so that the linker can keep these overloaded functions
28 from clashing.</para></sect4>
30 <sect4><title>collect2</title>
31 <para>collect2 assists with the compilation of constructors.</para></sect4>
33 <sect4><title>cpp, cpp0</title>
34 <para>cpp pre-processes a source file, such as including
35 the contents of header files into the source file. It's a good idea to
36 not do this manually to save a lot of time. Someone just inserts a line
37 like #include &lt;filename&gt;. The preprocessor inserts the
38 contents of that file into the source file. That's one of the things a
39 preprocessor does.</para></sect4>
41 <sect4><title>gccbug</title>
42 <para>gccbug is a shell script which is used to simplify the creation of
43 bug reports.</para></sect4>
45 <sect4><title>gcov</title>
46 <para>gcov analyzes programs to help create more efficient, faster running
47 code through optimization.</para></sect4>
49 <sect4><title>tradcpp0</title>
50 <para>No description is currently available.</para></sect4>
52 </sect3>
54 <sect3><title>Library Files</title>
55 <para>libgcc.a, libgcc_eh.a, libgcc_s.so, libiberty.a, libstdc++.[a,so], 
56 libsupc++.a</para></sect3>
58 <sect3><title>Descriptions</title>
60 <sect4><title>libgcc, libgcc_eh, libgcc_s</title>
61 <para>Run-time support files for gcc.</para></sect4>
63 <sect4><title>libiberty</title>
64 <para>libiberty is a collection of subroutines used by various GNU
65 programs including getopt, obstack, strerror, strtol and strtoul.</para></sect4>
67 <sect4><title>libstdc++</title>
68 <para>libstdc++ is the C++ library.  It is used by C++ programs and contains
69 functions that are frequently used in C++ programs. This way the
70 programmer doesn't have to write certain functions (such as writing a
71 string of text to the screen) from scratch every time he creates a
72 program.</para></sect4>
74 <sect4><title>libsupc++</title>
75 <para>libsup++ provides support for the c++ programming language. Among other
76 things, libsup++ contains routines for exception handling.</para></sect4>
78 </sect3>
80 </sect2>