📄 ch09.htm
字号:
<H4 ALIGN="CENTER"><A NAME="Heading10<FONT COLOR="#000077">GNU C Compiler</FONT></H4>
<P>Version 2.7 of the GNU C Compiler (<TT>gcc</TT>) supports three languages: C,
C++, and Objective-C. The language selected depends on the source file suffix or
a compiler option. The runtime support required by Objective-C programs is now distributed
with <TT>gcc</TT>. The GNU C Compiler is a portable optimizing compiler that supports
full ANSI C, traditional C, and GNU C extensions. GNU C has been extended to support
features such as nested functions and nonlocal <TT>goto</TT> statements. Also, <TT>gcc</TT>
can generate object files and debugging information in a variety of formats. See
Chapter 27, "Programming in C," for more detailed information about C language
support.
<H4 ALIGN="CENTER"><A NAME="Heading11<FONT COLOR="#000077">GNU C Library</FONT></H4>
<P>The GNU C library supports ANSI C and adds some extensions of its own. For example,
the GNU <TT>stdio</TT> library lets you define new kinds of streams and your own
<TT>printf</TT> formats.
<H4 ALIGN="CENTER"><A NAME="Heading12<FONT COLOR="#000077">GNU C++ Library</FONT></H4>
<P>The GNU C++ library (<TT>libg++</TT>) is an extensive collection of C++ classes,
a new <TT>iostream</TT> library for input/output routines, and support tools for
use with <TT>g++</TT>. Among the classes supported are multiple-precision integers
and rational numbers, complex numbers, and arbitrary-length strings. There are also
prototype files for generating common container classes.
<H4 ALIGN="CENTER"><A NAME="Heading13<FONT COLOR="#000077">calc</FONT></H4>
<P><TT>calc</TT> is a desk calculator and mathematical tool that is used within GNU
<TT>Emacs</TT>. <TT>calc</TT> can be used as a basic calculator, but it provides
additional features including choice of algebraic or Reverse Polish Notation (RPN),
logarithmic functions, trigonometric and financial functions, complex numbers, vectors,
matrices, dates, times, infinities, sets, algebraic simplification, differentiation,
and integration.
<H4 ALIGN="CENTER"><A NAME="Heading14<FONT COLOR="#000077">GNU Chess</FONT></H4>
<P>GNU <TT>Chess</TT> pits you against the computer in a full game of chess. It has
regular-terminal, <TT>curses</TT> (a full-screen interface library for C), and X-terminal
interfaces. GNU <TT>Chess</TT> implements many specialized features, including sophisticated
heuristics that will challenge your best Bobby Fischer moves.
<H4 ALIGN="CENTER"><A NAME="Heading15<FONT COLOR="#000077">CLISP</FONT></H4>
<P><TT>CLISP</TT> is an implementation of Common Lisp, the list-processing language
that is widely used in artificial-intelligence applications. <TT>CLISP</TT> includes
an interpreter and a byte compiler and has user interfaces in English and German
that can be chosen at compile time.
<H4 ALIGN="CENTER"><A NAME="Heading16<FONT COLOR="#000077">GNU Common Lisp</FONT></H4>
<P>GNU Common Lisp (<TT>gcl</TT>) has a compiler and interpreter for Common Lisp.
It is highly portable, extremely efficient, and has a source-level LISP debugger
for interpreted code. <TT>gcl</TT> also has profiling tools and an <TT>Xlib</TT>
interface.
<H4 ALIGN="CENTER"><A NAME="Heading17<FONT COLOR="#000077">cpio</FONT></H4>
<P><TT>cpio</TT> is a program that copies file archives to and from tape or disk.
It can also be used to copy files into a larger archive file or to other directories.
<H4 ALIGN="CENTER"><A NAME="Heading18<FONT COLOR="#000077">CVS</FONT></H4>
<P>The Concurrent Version System (CVS) manages software revision and release control
in a multideveloper, multidirectory, multigroup environment. It works in conjunction
with RCS, another source code control program.
<H4 ALIGN="CENTER"><A NAME="Heading19<FONT COLOR="#000077">dc</FONT></H4>
<P><TT>dc</TT> is an RPN calculator that can be used interactively or with input
files.
<H4 ALIGN="CENTER"><A NAME="Heading20<FONT COLOR="#000077">DejaGnu</FONT></H4>
<P><TT>DejaGnu</TT> is a framework for writing scripts to test any program. It includes
the embeddable scripting language <TT>Tcl</TT> and its derivative <TT>expect</TT>,
which runs scripts that can simulate user input.
<H4 ALIGN="CENTER"><A NAME="Heading21<FONT COLOR="#000077">Diffutils</FONT></H4>
<P>The <TT>Diffutils</TT> package contains the file-comparison programs <TT>diff</TT>,
<TT>diff3</TT>, <TT>sdiff</TT>, and <TT>cmp</TT>. GNU <TT>diff</TT> compares files
showing line-by-line changes in several formats and is more efficient than its traditional
version.
<H4 ALIGN="CENTER"><A NAME="Heading22<FONT COLOR="#000077">ecc</FONT></H4>
<P><TT>ecc</TT> is a error-correction checking program that uses the Reed-Solomon
algorithm. It can correct a total of three byte errors in a block of 255 bytes and
can detect more severe errors.
<H4 ALIGN="CENTER"><A NAME="Heading23<FONT COLOR="#000077">ed</FONT></H4>
<P><TT>ed</TT> is the standard line-based text editor.
<H4 ALIGN="CENTER"><A NAME="Heading24<FONT COLOR="#000077">elib</FONT></H4>
<P>This is a small library of <TT>Emacs</TT> LISP functions, including routines for
using doubly linked lists.
<H4 ALIGN="CENTER"><A NAME="Heading25<FONT COLOR="#000077">GNU Emacs</FONT></H4>
<P>GNU <TT>Emacs</TT> is the second implementation of this highly popular editor
developed by Richard Stallman. It integrates LISP for writing extensions and provides
an interface to X. In addition to its own powerful command set, <TT>Emacs</TT> has
extensions that emulate other popular editors such as <TT>vi</TT> and <TT>EDT</TT>
(DEC's VMS editor). For more information on <TT>Emacs</TT>, refer to Chapter 16,
"Text Editors."
<H4 ALIGN="CENTER"><A NAME="Heading26<FONT COLOR="#000077">GNU Emacs 19</FONT></H4>
<P><TT>Emacs 19.31.1</TT> is a richer version of the <TT>Emacs</TT> editor with extensive
support for the X Window system. It includes an interface to the X resource manager,
has X toolkit support, has good RCS support, and includes many updated libraries.
<TT>Emacs</TT> works equally well on character-based terminals as it does under X.
<H4 ALIGN="CENTER"><A NAME="Heading27<FONT COLOR="#000077">es</FONT></H4>
<P><TT>es</TT> is a shell based on <TT>rc</TT> that has an exception system and supports
functions that return values other than just numbers. It works well interactively
or in scripts, particularly because its quoting rules are simpler than the C and
Bourne shells.
<H4 ALIGN="CENTER"><A NAME="Heading28<FONT COLOR="#000077">fileutils</FONT></H4>
<P><TT>fileutils</TT> is a GNU collection of standard (and not-so-standard) Linux
file utilities, including <TT>chgrp</TT>, <TT>chmod</TT>, <TT>chown</TT>, <TT>cp</TT>,
<TT>dd</TT>, <TT>df</TT>, <TT>dir</TT>, <TT>du</TT>, <TT>install</TT>, <TT>ln</TT>,
<TT>ls</TT>, <TT>mkdir</TT>, <TT>mkfifo</TT>, <TT>mknod</TT>, <TT>mv</TT>, <TT>mvdir</TT>,
<TT>rm</TT>, <TT>rmdir</TT>, <TT>touch</TT>, and <TT>vdir</TT>.
<H4 ALIGN="CENTER"><A NAME="Heading29<FONT COLOR="#000077">find</FONT></H4>
<P><TT>find</TT> is a program that can be used both interactively and in shell scripts
to find files given certain criteria and then execute operations (such as <TT>rm</TT>)
on them. This program includes <TT>xargs</TT>, which applies a command to a list
of files.
<H4 ALIGN="CENTER"><A NAME="Heading30<FONT COLOR="#000077">finger</FONT></H4>
<P><TT>finger</TT> displays information about one or more Linux users. GNU <TT>finger</TT>
supports a single host that can act as the <TT>finger</TT> server host in sites that
have multiple hosts. This host collects information about who is logged into other
hosts at that site. Thus, a query to any machine at another site will return complete
information about any user at that site.
<H4 ALIGN="CENTER"><A NAME="Heading31<FONT COLOR="#000077">flex</FONT></H4>
<P><TT>flex</TT> is a replacement for the <TT>lex</TT> scanner generator. The <TT>flex</TT>
program generates more efficient scanners than does <TT>lex</TT>. The <TT>flex</TT>
program also has the advantage that it generates C code. Scanners are used to identify
tokens from input.
<H4 ALIGN="CENTER"><A NAME="Heading32<FONT COLOR="#000077">fontutils</FONT></H4>
<P>The <TT>fontutils</TT> create fonts for use with <TT>Ghostscript</TT> or <TT>TeX</TT>.
They also contain general conversion programs and other utilities. Some of the programs
in <TT>Fontutils</TT> include <TT>bpltobzr</TT>, <TT>bzrto</TT>, <TT>charspace</TT>,
<TT>fontconvert</TT>, <TT>gsrenderfont</TT>, <TT>imageto</TT>, <TT>imgrotate</TT>,
<TT>limn</TT>, and <TT>xbfe</TT>.
<H4 ALIGN="CENTER"><A NAME="Heading33<FONT COLOR="#000077">gas</FONT></H4>
<P><TT>gas</TT> is the GNU assembler that converts assembly code into object files.
Native assembly works for many systems, including Linux.
<H4 ALIGN="CENTER"><A NAME="Heading34<FONT COLOR="#000077">gawk</FONT></H4>
<P><TT>gawk</TT> is upwardly compatible with the <TT>awk</TT> program, which uses
pattern-matching to modify files. It also provides several useful extensions not
found in other <TT>awk</TT> implementations (<TT>awk</TT>, <TT>nawk</TT>), such as
functions to convert the case of a matched string. For more detailed information,
see Chapter 26, "<TT>gawk</TT>."
<H4 ALIGN="CENTER"><A NAME="Heading35<FONT COLOR="#000077">gdb</FONT></H4>
<P><TT>gdb</TT> is a debugger with a command-line user interface. Object files and
symbol tables are read using the BFD library, which allows a single copy of <TT>gdb</TT>
to debug programs of multiple object file formats. Other new features include command-language
improvements, remote debugging over serial lines or TCP/IP, and watchpoints (breakpoints
triggered when the value of an expression changes). An X version of <TT>gdb</TT>,
called <TT>xxgdb</TT>, is also available.
<H4 ALIGN="CENTER"><A NAME="Heading36<FONT COLOR="#000077">gdbm</FONT></H4>
<P>The <TT>gdbm</TT> library is the GNU replacement for the traditional <TT>dbm</TT>
and <TT>ndbm</TT> database libraries. It implements a database using lookup by hash
tables.
<H4 ALIGN="CENTER"><A NAME="Heading37<FONT COLOR="#000077">Ghostscript</FONT></H4>
<P>Ghostscript is GNU's PostScript-compatible graphics language. It accepts commands
in PostScript and executes them by writing directly to a printer, drawing in an X
window, or writing to a file that you can print later (or to a bitmap file that you
can edit with other graphics programs).</P>
<P>Ghostscript includes a graphics library that can be called from C. This allows
client programs to use Ghostscript's features without having to know the PostScript
language. For more information, consult Chapter 25, "Ghostscript."
<H4 ALIGN="CENTER"><A NAME="Heading38<FONT COLOR="#000077">Ghostview</FONT></H4>
<P>Ghostview is an X-based previewer for multipage files that are interpreted by
Ghostscript.
<H4 ALIGN="CENTER"><A NAME="Heading39<FONT COLOR="#000077">gmp</FONT></H4>
<P>GNU <TT>mp</TT> (<TT>gmp</TT>) is an extensive library for arbitrary precision
arithmetic on signed integers and rational numbers.
<H4 ALIGN="CENTER"><A NAME="Heading40<FONT COLOR="#000077">GNats</FONT></H4>
<P><TT>GNats</TT>: GNU's A Tracking System is a problem-reporting system. It uses
the model of a central site or organization that receives problem reports and administers
their resolution by electronic mail. Although it is used primarily as a software
bug-tracking system, it could also be used for handling system-administration issues,
project management, and a variety of other applications.
<H4 ALIGN="CENTER"><A NAME="Heading41<FONT COLOR="#000077">gnuplot</FONT></H4>
<P><TT>gnuplot</TT> is an interactive program for plotting mathematical expressions
and data. It handles both curves (two-dimensional) and surfaces (three-dimensional).
<H4 ALIGN="CENTER"><A NAME="Heading42<FONT COLOR="#000077">gperf</FONT></H4>
<P><TT>gperf</TT> is a utility to generate "perfect" hash tables. There
are implementations of <TT>gperf</TT> for C and C++ that generate hash functions
for both languages.
<H4 ALIGN="CENTER"><A NAME="Heading43<FONT COLOR="#000077">GNU Graphics</FONT></H4>
<P>GNU Graphics is a set of programs that produces plots from ASCII or binary data.
It supports output to PostScript and the X Window system, has shell scripts examples
using <TT>graph</TT> and <TT>plot</TT>, and features a statistics toolkit.
<H4 ALIGN="CENTER"><A NAME="Heading44<FONT COLOR="#000077">grep</FONT></H4>
<P>This package contains GNU <TT>grep</TT>, <TT>egrep</TT>, and <TT>fgrep</TT>. These
utilities, which search files for regular expressions, execute much faster than do
their traditional counterparts.
<H4 ALIGN="CENTER"><A NAME="Heading45<FONT COLOR="#000077">groff</FONT></H4>
<P><TT>groff</TT> is a document-formatting system that includes drivers for PostScript,
<TT>TeX</TT> <TT>dvi</TT> format, as well as implementations of <TT>eqn</TT>, <TT>nroff</TT>,
<TT>pic</TT>, <TT>refer</TT>, <TT>tbl</TT>, <TT>troff</TT>, and the <TT>man</TT>,
<TT>ms</TT>, and <TT>mm</TT> macros. Written in C++, these programs can be compiled
with GNU C++ Version 2.5 or later.
<H4 ALIGN="CENTER"><A NAME="Heading46<FONT COLOR="#000077">gzip</FONT></H4>
<P><TT>gzip</TT> can expand LZW-compressed files but uses a different algorithm for
compression that generally produces better results than the traditional <TT>compress</TT>
program. It also uncompresses files compressed with the <TT>pack</TT> program.
<H4 ALIGN="CENTER"><A NAME="Heading47<FONT COLOR="#000077">hp2xx</FONT></H4>
<P>GNU <TT>hp2xx</TT> reads HPGL files, decomposes all drawing commands into elementary
vectors, and converts them into a variety of vector (including encapsulated PostScript,
Metafont, and various special <TT>TeX</TT>-related formats, and simplified HPGL)
and raster output formats (including PBM, PCX, and HP-PCL).
<H4 ALIGN="CENTER"><A NAME="Heading48<FONT COLOR="#000077">indent</FONT></H4>
<P>GNU <TT>indent</TT> formats C source code according to the GNU coding standards
but, optionally, can also use the BSD default, K&R, and other formats. It is
also possible to define your own format. <TT>indent</TT> can handle C++ comments.
<H4 ALIGN="CENTER"><A NAME="Heading49<FONT COLOR="#000077">ispell</FONT></H4>
<P><TT>ispell</TT> is an interactive spell checker that suggests other words with
similar spelling as replacements for unrecognized words. <TT>ispell</TT> can use
system and personal dictionaries, and standalone and GNU <TT>Emacs</TT> interfaces
are also available.
<H4 ALIGN="CENTER"><A NAME="Heading50<FONT COLOR="#000077">m4</FONT></H4>
<P>GNU <TT>m4</TT> is an implementation of the traditional macroprocessor for C.
It has some extensions for handling more than nine positional parameters to macros,
including files, running shell commands, and performing arithmetic.
<H4 ALIGN="CENTER"><A NAME="Heading51<FONT COLOR="#000077">make</FONT></H4>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -