Convert to DocBook article format.
PR: docs/14118 Submitted by: nbm@rucus.ru.ac.za
This commit is contained in:
parent
87d14dc6ac
commit
d861f75dd9
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=5807
2 changed files with 98 additions and 100 deletions
|
@ -1,10 +1,10 @@
|
|||
<!-- $FreeBSD$ -->
|
||||
<!-- $FreeBSD: doc/en_US.ISO_8859-1/articles/programming-tools/article.sgml,v 1.7 1999/09/06 06:52:38 peter Exp $ -->
|
||||
<!-- The FreeBSD Documentation Project -->
|
||||
|
||||
<!DOCTYPE BOOK PUBLIC "-//Davenport//DTD DocBook V3.0//EN">
|
||||
<book>
|
||||
<bookinfo>
|
||||
<bookbiblio>
|
||||
<!DOCTYPE ARTICLE PUBLIC "-//FreeBSD//DTD DocBook V3.1-Based Extension//EN">
|
||||
<article>
|
||||
|
||||
<artheader>
|
||||
<title>A User's Guide to FreeBSD Programming Tools</title>
|
||||
|
||||
<authorgroup>
|
||||
|
@ -31,10 +31,9 @@ many other versions of Unix. It does <emphasis>not</emphasis> attempt to describ
|
|||
coding in any detail. Most of the document assumes little or no
|
||||
previous programming knowledge, although it is hoped that most
|
||||
programmers will find something of value in it</para></abstract>
|
||||
</bookbiblio>
|
||||
</bookinfo>
|
||||
</artheader>
|
||||
|
||||
<chapter>
|
||||
<sect1>
|
||||
<title>Introduction<anchor id=foo></title>
|
||||
|
||||
<para>FreeBSD offers an excellent development environment. Compilers
|
||||
|
@ -58,9 +57,9 @@ the documentation.</para>
|
|||
programming, although it does assume a basic competence with using
|
||||
Unix and a willingness to learn!</para>
|
||||
|
||||
</chapter>
|
||||
</sect1>
|
||||
|
||||
<chapter>
|
||||
<sect1>
|
||||
<title>Introduction to Programming</title>
|
||||
|
||||
<para>A program is a set of instructions that tell the computer to do
|
||||
|
@ -76,7 +75,7 @@ purpose.</para>
|
|||
|
||||
|
||||
|
||||
<sect1>
|
||||
<sect2>
|
||||
<title>Interpreters</title>
|
||||
|
||||
<para>With an interpreter, the language comes as an environment, where you
|
||||
|
@ -107,9 +106,9 @@ original Unix philosophy was to provide lots of small utility
|
|||
programs that could be linked together in shell scripts to perform
|
||||
useful tasks.</para>
|
||||
|
||||
</sect1>
|
||||
</sect2>
|
||||
|
||||
<sect1>
|
||||
<sect2>
|
||||
<title>Interpreters available with FreeBSD</title>
|
||||
|
||||
<para>Here is a list of interpreters that are available as <ulink
|
||||
|
@ -209,9 +208,9 @@ high enough level of abstraction to be used in research work.</para>
|
|||
</variablelist>
|
||||
</para>
|
||||
|
||||
</sect1>
|
||||
</sect2>
|
||||
|
||||
<sect1>
|
||||
<sect2>
|
||||
<title>Compilers</title>
|
||||
|
||||
<para>Compilers are rather different. First of all, you write your
|
||||
|
@ -248,10 +247,10 @@ for short). FreeBSD does not have an <acronym>IDE</> as such; however
|
|||
it is possible to use Emacs for this purpose. This is discussed in
|
||||
<xref linkend="emacs">.</para>
|
||||
|
||||
</sect2>
|
||||
</sect1>
|
||||
</chapter>
|
||||
|
||||
<chapter>
|
||||
<sect1>
|
||||
<title>Compiling with <command>cc</command></title>
|
||||
|
||||
<para>This section deals only with the GNU compiler for C and C++,
|
||||
|
@ -527,7 +526,7 @@ impunity!</para>
|
|||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<sect1>
|
||||
<sect2>
|
||||
<title>Common <command>cc</command> Queries and Problems</title>
|
||||
|
||||
<para>Q. I am trying to write a program which uses the
|
||||
|
@ -740,14 +739,14 @@ loop, for instance. If your program happens to trap
|
|||
<symbol>SIGABRT</symbol>, there are several other signals which have
|
||||
a similar effect.</para>
|
||||
|
||||
</sect2>
|
||||
</sect1>
|
||||
</chapter>
|
||||
|
||||
|
||||
<chapter>
|
||||
<title>Make</title>
|
||||
|
||||
<sect1>
|
||||
<title>Make</title>
|
||||
|
||||
<sect2>
|
||||
<title>What is <command>make</command>?</title>
|
||||
|
||||
<para>When you're working on a simple program with only one or two source
|
||||
|
@ -800,9 +799,9 @@ don't use the <filename>MAKEFILE</filename> form as block capitals
|
|||
are often used for documentation files like
|
||||
<filename>README</filename>.</para></footnote></para>
|
||||
|
||||
</sect1>
|
||||
</sect2>
|
||||
|
||||
<sect1>
|
||||
<sect2>
|
||||
<title>Example of using <command>make</command></title>
|
||||
|
||||
<para>Here's a very simple make file:
|
||||
|
@ -878,9 +877,9 @@ file include a header file. The <command>touch</command> command is
|
|||
very useful here—it changes the date on a file without you
|
||||
having to edit it.</para>
|
||||
|
||||
</sect1>
|
||||
</sect2>
|
||||
|
||||
<sect1>
|
||||
<sect2>
|
||||
<title>FreeBSD Makefiles</title>
|
||||
|
||||
<para>Makefiles can be rather complicated to write. Fortunately,
|
||||
|
@ -951,9 +950,9 @@ until you've had a bit of practice with makefiles, as they are very
|
|||
complicated (and if you do look at them, make sure you have a flask
|
||||
of strong coffee handy!)</para>
|
||||
|
||||
</sect1>
|
||||
</sect2>
|
||||
|
||||
<sect1>
|
||||
<sect2>
|
||||
<title>More advanced uses of <command>make</command></title>
|
||||
|
||||
<para><command>Make</command> is a very powerful tool, and can do much
|
||||
|
@ -987,13 +986,13 @@ to the file. Once you have done this, you can type
|
|||
<application>Emacs</application>, do <userinput>C-h
|
||||
i</userinput>).</para>
|
||||
|
||||
</sect2>
|
||||
</sect1>
|
||||
</chapter>
|
||||
|
||||
<chapter id="debugging">
|
||||
<sect1 id="debugging">
|
||||
<title>Debugging</title>
|
||||
|
||||
<sect1>
|
||||
<sect2>
|
||||
<title>The Debugger</title>
|
||||
|
||||
<para>The debugger that comes with FreeBSD is called
|
||||
|
@ -1026,9 +1025,9 @@ in the ports collection.</para>
|
|||
<command>gdb</command> and does not cover specialised topics such as
|
||||
debugging the kernel.</para>
|
||||
|
||||
</sect1>
|
||||
</sect2>
|
||||
|
||||
<sect1>
|
||||
<sect2>
|
||||
<title>Running a program in the debugger</title>
|
||||
|
||||
<para>You'll need to have compiled the program with the
|
||||
|
@ -1138,9 +1137,9 @@ going on. (The stack is a storage area where the program stores
|
|||
information about the arguments passed to functions and where to go
|
||||
when it returns from a function call).</para></note>
|
||||
|
||||
</sect1>
|
||||
</sect2>
|
||||
|
||||
<sect1>
|
||||
<sect2>
|
||||
<title>Examining a core file</title>
|
||||
|
||||
<para>A core file is basically a file which contains the complete
|
||||
|
@ -1191,9 +1190,9 @@ stack:
|
|||
a program crashes; in this case, the <function>bazz()</function>
|
||||
function was called from <function>main()</function>.</para>
|
||||
|
||||
</sect1>
|
||||
</sect2>
|
||||
|
||||
<sect1>
|
||||
<sect2>
|
||||
<title>Attaching to a running program</title>
|
||||
|
||||
<para>One of the neatest features about <command>gdb</command> is
|
||||
|
@ -1227,13 +1226,13 @@ Now all you have to do is attach to the child, set
|
|||
<symbol>PauseMode</symbol> to <literal>0</literal>, and
|
||||
wait for the <function>sleep()</function> call to return!</para>
|
||||
|
||||
</sect2>
|
||||
</sect1>
|
||||
</chapter>
|
||||
|
||||
<chapter id="emacs">
|
||||
<sect1 id="emacs">
|
||||
<title>Using Emacs as a Development Environment</title>
|
||||
|
||||
<sect1>
|
||||
<sect2>
|
||||
<title>Emacs</title>
|
||||
|
||||
<para>Unfortunately, Unix systems don't come with the kind of
|
||||
|
@ -1354,9 +1353,9 @@ to leave Emacs—that leaves Emacs hanging around in the
|
|||
background, and is only really useful if you're on a system which
|
||||
doesn't have virtual terminals).</para>
|
||||
|
||||
</sect1>
|
||||
</sect2>
|
||||
|
||||
<sect1>
|
||||
<sect2>
|
||||
<title>Configuring Emacs</title>
|
||||
|
||||
<para>Emacs does many wonderful things; some of them are built in,
|
||||
|
@ -1379,9 +1378,9 @@ started. Just copy it into your home directory and restart Emacs if
|
|||
it's already running; it will read the commands from the file and
|
||||
(hopefully) give you a useful basic setup.</para>
|
||||
|
||||
</sect1>
|
||||
</sect2>
|
||||
|
||||
<sect1>
|
||||
<sect2>
|
||||
<title>A sample <filename>.emacs</filename> file</title>
|
||||
|
||||
<para>Unfortunately, there's far too much here to explain it in detail;
|
||||
|
@ -1720,9 +1719,9 @@ in font-lock-auto-mode-list"
|
|||
</screen>
|
||||
</example>
|
||||
|
||||
</sect1>
|
||||
</sect2>
|
||||
|
||||
<sect1>
|
||||
<sect2>
|
||||
<title>Extending the Range of Languages Emacs Understands</title>
|
||||
|
||||
<para>Now, this is all very well if you only want to program in the
|
||||
|
@ -1782,10 +1781,10 @@ you can add a <function>whizbang-mode hook</function> (see
|
|||
<function>my-scheme-mode-hook</function> for a simple example that
|
||||
adds <function>auto-indent</function>).</para>
|
||||
|
||||
</sect2>
|
||||
</sect1>
|
||||
</chapter>
|
||||
|
||||
<chapter>
|
||||
<sect1>
|
||||
<title>Further Reading</title>
|
||||
|
||||
<itemizedlist>
|
||||
|
@ -1831,5 +1830,5 @@ ISBN 0-13-949876-1</para></listitem>
|
|||
|
||||
</itemizedlist>
|
||||
|
||||
</chapter>
|
||||
</book>
|
||||
</sect1>
|
||||
</article>
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
<!-- $FreeBSD$ -->
|
||||
<!-- $FreeBSD: doc/en_US.ISO_8859-1/articles/programming-tools/article.sgml,v 1.7 1999/09/06 06:52:38 peter Exp $ -->
|
||||
<!-- The FreeBSD Documentation Project -->
|
||||
|
||||
<!DOCTYPE BOOK PUBLIC "-//Davenport//DTD DocBook V3.0//EN">
|
||||
<book>
|
||||
<bookinfo>
|
||||
<bookbiblio>
|
||||
<!DOCTYPE ARTICLE PUBLIC "-//FreeBSD//DTD DocBook V3.1-Based Extension//EN">
|
||||
<article>
|
||||
|
||||
<artheader>
|
||||
<title>A User's Guide to FreeBSD Programming Tools</title>
|
||||
|
||||
<authorgroup>
|
||||
|
@ -31,10 +31,9 @@ many other versions of Unix. It does <emphasis>not</emphasis> attempt to describ
|
|||
coding in any detail. Most of the document assumes little or no
|
||||
previous programming knowledge, although it is hoped that most
|
||||
programmers will find something of value in it</para></abstract>
|
||||
</bookbiblio>
|
||||
</bookinfo>
|
||||
</artheader>
|
||||
|
||||
<chapter>
|
||||
<sect1>
|
||||
<title>Introduction<anchor id=foo></title>
|
||||
|
||||
<para>FreeBSD offers an excellent development environment. Compilers
|
||||
|
@ -58,9 +57,9 @@ the documentation.</para>
|
|||
programming, although it does assume a basic competence with using
|
||||
Unix and a willingness to learn!</para>
|
||||
|
||||
</chapter>
|
||||
</sect1>
|
||||
|
||||
<chapter>
|
||||
<sect1>
|
||||
<title>Introduction to Programming</title>
|
||||
|
||||
<para>A program is a set of instructions that tell the computer to do
|
||||
|
@ -76,7 +75,7 @@ purpose.</para>
|
|||
|
||||
|
||||
|
||||
<sect1>
|
||||
<sect2>
|
||||
<title>Interpreters</title>
|
||||
|
||||
<para>With an interpreter, the language comes as an environment, where you
|
||||
|
@ -107,9 +106,9 @@ original Unix philosophy was to provide lots of small utility
|
|||
programs that could be linked together in shell scripts to perform
|
||||
useful tasks.</para>
|
||||
|
||||
</sect1>
|
||||
</sect2>
|
||||
|
||||
<sect1>
|
||||
<sect2>
|
||||
<title>Interpreters available with FreeBSD</title>
|
||||
|
||||
<para>Here is a list of interpreters that are available as <ulink
|
||||
|
@ -209,9 +208,9 @@ high enough level of abstraction to be used in research work.</para>
|
|||
</variablelist>
|
||||
</para>
|
||||
|
||||
</sect1>
|
||||
</sect2>
|
||||
|
||||
<sect1>
|
||||
<sect2>
|
||||
<title>Compilers</title>
|
||||
|
||||
<para>Compilers are rather different. First of all, you write your
|
||||
|
@ -248,10 +247,10 @@ for short). FreeBSD does not have an <acronym>IDE</> as such; however
|
|||
it is possible to use Emacs for this purpose. This is discussed in
|
||||
<xref linkend="emacs">.</para>
|
||||
|
||||
</sect2>
|
||||
</sect1>
|
||||
</chapter>
|
||||
|
||||
<chapter>
|
||||
<sect1>
|
||||
<title>Compiling with <command>cc</command></title>
|
||||
|
||||
<para>This section deals only with the GNU compiler for C and C++,
|
||||
|
@ -527,7 +526,7 @@ impunity!</para>
|
|||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<sect1>
|
||||
<sect2>
|
||||
<title>Common <command>cc</command> Queries and Problems</title>
|
||||
|
||||
<para>Q. I am trying to write a program which uses the
|
||||
|
@ -740,14 +739,14 @@ loop, for instance. If your program happens to trap
|
|||
<symbol>SIGABRT</symbol>, there are several other signals which have
|
||||
a similar effect.</para>
|
||||
|
||||
</sect2>
|
||||
</sect1>
|
||||
</chapter>
|
||||
|
||||
|
||||
<chapter>
|
||||
<title>Make</title>
|
||||
|
||||
<sect1>
|
||||
<title>Make</title>
|
||||
|
||||
<sect2>
|
||||
<title>What is <command>make</command>?</title>
|
||||
|
||||
<para>When you're working on a simple program with only one or two source
|
||||
|
@ -800,9 +799,9 @@ don't use the <filename>MAKEFILE</filename> form as block capitals
|
|||
are often used for documentation files like
|
||||
<filename>README</filename>.</para></footnote></para>
|
||||
|
||||
</sect1>
|
||||
</sect2>
|
||||
|
||||
<sect1>
|
||||
<sect2>
|
||||
<title>Example of using <command>make</command></title>
|
||||
|
||||
<para>Here's a very simple make file:
|
||||
|
@ -878,9 +877,9 @@ file include a header file. The <command>touch</command> command is
|
|||
very useful here—it changes the date on a file without you
|
||||
having to edit it.</para>
|
||||
|
||||
</sect1>
|
||||
</sect2>
|
||||
|
||||
<sect1>
|
||||
<sect2>
|
||||
<title>FreeBSD Makefiles</title>
|
||||
|
||||
<para>Makefiles can be rather complicated to write. Fortunately,
|
||||
|
@ -951,9 +950,9 @@ until you've had a bit of practice with makefiles, as they are very
|
|||
complicated (and if you do look at them, make sure you have a flask
|
||||
of strong coffee handy!)</para>
|
||||
|
||||
</sect1>
|
||||
</sect2>
|
||||
|
||||
<sect1>
|
||||
<sect2>
|
||||
<title>More advanced uses of <command>make</command></title>
|
||||
|
||||
<para><command>Make</command> is a very powerful tool, and can do much
|
||||
|
@ -987,13 +986,13 @@ to the file. Once you have done this, you can type
|
|||
<application>Emacs</application>, do <userinput>C-h
|
||||
i</userinput>).</para>
|
||||
|
||||
</sect2>
|
||||
</sect1>
|
||||
</chapter>
|
||||
|
||||
<chapter id="debugging">
|
||||
<sect1 id="debugging">
|
||||
<title>Debugging</title>
|
||||
|
||||
<sect1>
|
||||
<sect2>
|
||||
<title>The Debugger</title>
|
||||
|
||||
<para>The debugger that comes with FreeBSD is called
|
||||
|
@ -1026,9 +1025,9 @@ in the ports collection.</para>
|
|||
<command>gdb</command> and does not cover specialised topics such as
|
||||
debugging the kernel.</para>
|
||||
|
||||
</sect1>
|
||||
</sect2>
|
||||
|
||||
<sect1>
|
||||
<sect2>
|
||||
<title>Running a program in the debugger</title>
|
||||
|
||||
<para>You'll need to have compiled the program with the
|
||||
|
@ -1138,9 +1137,9 @@ going on. (The stack is a storage area where the program stores
|
|||
information about the arguments passed to functions and where to go
|
||||
when it returns from a function call).</para></note>
|
||||
|
||||
</sect1>
|
||||
</sect2>
|
||||
|
||||
<sect1>
|
||||
<sect2>
|
||||
<title>Examining a core file</title>
|
||||
|
||||
<para>A core file is basically a file which contains the complete
|
||||
|
@ -1191,9 +1190,9 @@ stack:
|
|||
a program crashes; in this case, the <function>bazz()</function>
|
||||
function was called from <function>main()</function>.</para>
|
||||
|
||||
</sect1>
|
||||
</sect2>
|
||||
|
||||
<sect1>
|
||||
<sect2>
|
||||
<title>Attaching to a running program</title>
|
||||
|
||||
<para>One of the neatest features about <command>gdb</command> is
|
||||
|
@ -1227,13 +1226,13 @@ Now all you have to do is attach to the child, set
|
|||
<symbol>PauseMode</symbol> to <literal>0</literal>, and
|
||||
wait for the <function>sleep()</function> call to return!</para>
|
||||
|
||||
</sect2>
|
||||
</sect1>
|
||||
</chapter>
|
||||
|
||||
<chapter id="emacs">
|
||||
<sect1 id="emacs">
|
||||
<title>Using Emacs as a Development Environment</title>
|
||||
|
||||
<sect1>
|
||||
<sect2>
|
||||
<title>Emacs</title>
|
||||
|
||||
<para>Unfortunately, Unix systems don't come with the kind of
|
||||
|
@ -1354,9 +1353,9 @@ to leave Emacs—that leaves Emacs hanging around in the
|
|||
background, and is only really useful if you're on a system which
|
||||
doesn't have virtual terminals).</para>
|
||||
|
||||
</sect1>
|
||||
</sect2>
|
||||
|
||||
<sect1>
|
||||
<sect2>
|
||||
<title>Configuring Emacs</title>
|
||||
|
||||
<para>Emacs does many wonderful things; some of them are built in,
|
||||
|
@ -1379,9 +1378,9 @@ started. Just copy it into your home directory and restart Emacs if
|
|||
it's already running; it will read the commands from the file and
|
||||
(hopefully) give you a useful basic setup.</para>
|
||||
|
||||
</sect1>
|
||||
</sect2>
|
||||
|
||||
<sect1>
|
||||
<sect2>
|
||||
<title>A sample <filename>.emacs</filename> file</title>
|
||||
|
||||
<para>Unfortunately, there's far too much here to explain it in detail;
|
||||
|
@ -1720,9 +1719,9 @@ in font-lock-auto-mode-list"
|
|||
</screen>
|
||||
</example>
|
||||
|
||||
</sect1>
|
||||
</sect2>
|
||||
|
||||
<sect1>
|
||||
<sect2>
|
||||
<title>Extending the Range of Languages Emacs Understands</title>
|
||||
|
||||
<para>Now, this is all very well if you only want to program in the
|
||||
|
@ -1782,10 +1781,10 @@ you can add a <function>whizbang-mode hook</function> (see
|
|||
<function>my-scheme-mode-hook</function> for a simple example that
|
||||
adds <function>auto-indent</function>).</para>
|
||||
|
||||
</sect2>
|
||||
</sect1>
|
||||
</chapter>
|
||||
|
||||
<chapter>
|
||||
<sect1>
|
||||
<title>Further Reading</title>
|
||||
|
||||
<itemizedlist>
|
||||
|
@ -1831,5 +1830,5 @@ ISBN 0-13-949876-1</para></listitem>
|
|||
|
||||
</itemizedlist>
|
||||
|
||||
</chapter>
|
||||
</book>
|
||||
</sect1>
|
||||
</article>
|
||||
|
|
Loading…
Reference in a new issue