as 2007-08-29 19:37:48 UTC
FreeBSD ports repository
Modified files:
books/developers-handbook/x86 chapter.sgml
Log:
Kapitel 12.10 uebersetzt.
Uebersetzt und gesendet von: Fabian Ruch
Ein par SGML-Tags gefixt:
<titel>/<title>, <acronym>/</acronym>, <listitme>/<listitem>,
</filename>/</filname>, </unserinput></userinput>
Revision Changes Path
1.8 +127 -147 de-docproj/books/developers-handbook/x86/chapter.sgml
Index: chapter.sgml
===================================================================
RCS file: /home/cvs/de-docproj/books/developers-handbook/x86/chapter.sgml,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -I$FreeBSDde.*$ -r1.7 -r1.8
--- chapter.sgml 23 Aug 2007 15:49:53 -0000 1.7
+++ chapter.sgml 29 Aug 2007 19:37:48 -0000 1.8
@@ -1478,11 +1478,12 @@
<para>Die Kommandozeilenparameter folgen einander, alle
<varname>argc</varname>. Von diesen wird üblicherweise als
<varname>argv</varname> wie "argument value(s)" gesprochen. So
- erhalten wir <varname>argv[0]</varname>, <varname>argv[1]</varname>,
- <varname>...</varname> und <varname>argv[argc-1]</varname>. Dies
- sind nicht die eigentlichen Parameter, sondern Zeiger (Pointer) auf
- diese, d.h., Speicheradressen der tatsächlichen Parameter. Die
- Parameter selbst sind durch NULL beendete Zeichenketten.</para>
+ erhalten wir <varname>argv[0]</varname>,
+ <varname>argv[1]</varname>, <varname>...</varname> und
+ <varname>argv[argc-1]</varname>. Dies sind nicht die eigentlichen
+ Parameter, sondern Zeiger (Pointer) auf diese, d.h.,
+ Speicheradressen der tatsächlichen Parameter. Die Parameter
+ selbst sind durch NULL beendete Zeichenketten.</para>
<para>Der <varname>argv</varname>-Liste folgt ein NULL-Zeiger, was
einfach eine <constant>0</constant> ist. Es gibt noch mehr, aber
@@ -1764,124 +1765,107 @@
</sect1>
<sect1 id="x86-environment">
-<title>&unix; Environment</title>
+ <title>Die &unix;-Umgebung</title>
-<para>
-An important &unix; concept is the environment, which is defined by
-<emphasis>environment variables</emphasis>. Some are set by the system, others
-by you, yet others by the <application>shell</application>, or any program
-that loads another program.
-</para>
-
-<sect2 id="x86-find-environment">
-<title>How to Find Environment Variables</title>
-
-<para>
-I said earlier that when a program starts executing, the stack
-contains <varname>argc</varname> followed by the NULL-terminated
-<varname>argv</varname> array, followed by something else. The
-"something else" is the <emphasis>environment</emphasis>, or,
-to be more precise, a NULL-terminated array of pointers to
-<emphasis>environment variables</emphasis>. This is often referred
-to as <varname>env</varname>.
-</para>
-
-<para>
-The structure of <varname>env</varname> is the same as that of
-<varname>argv</varname>, a list of memory addresses followed by a
-NULL (<constant>0</constant>). In this case, there is no
-<varname>"envc"</varname>—we figure out where the array ends
-by searching for the final NULL.
-</para>
-
-<para>
-The variables usually come in the <varname>name=value</varname>
-format, but sometimes the <varname>=value</varname> part
-may be missing. We need to account for that possibility.
-</para>
-
-</sect2>
-
-<sect2 id="x86-webvar">
-<title>webvars</title>
-
-<para>
-I could just show you some code that prints the environment
-the same way the &unix; <application>env</application> command does. But
-I thought it would be more interesting to write a simple
-assembly language CGI utility.
-</para>
-
-<sect3 id="x86-cgi">
-<title>CGI: A Quick Overview</title>
-
-<para>
-I have a
-<ulink url="http://www.whizkidtech.redprince.net/cgi-bin/tutorial">detailed
-<acronym>CGI</acronym> tutorial</ulink> on my web site,
-but here is a very quick overview of <acronym>CGI</acronym>:
-</para>
-
-<itemizedlist>
-<listitem>
-<para>
-The web server communicates with the <acronym>CGI</acronym>
-program by setting <emphasis>environment variables</emphasis>.
-</para>
-</listitem>
-
-<listitem>
-<para>
-The <acronym>CGI</acronym> program
-sends its output to <filename>stdout</filename>.
-The web server reads it from there.
-</para>
-</listitem>
+ <para>Ein entscheidendes Konzept hinter &unix; ist die Umgebung, die
+ durch <emphasis>Umgebungsvariablen</emphasis> festgelegt wird.
+ Manche werden vom System gesetzt, andere von Ihnen und wieder
+ andere von der <application>shell</application> oder irgendeinem
+ Programm, das ein anderes lädt.</para>
+
+ <sect2 id="x86-find-environment">
+ <title>Umgebungsvariablen herausfinden</title>
+
+ <para>Ich sagte vorher, dass wenn ein Programm mit der
+ Ausführung beginnt, der Stack <varname>argc</varname>
+ gefolgt vom durch NULL beendeten <varname>argv</varname>-Array
+ und etwas Anderem enthält. Das "etwas Andere" ist die
+ <emphasis>Umgebung</emphasis> oder, um genauer zu sein, ein
+ durch NULL beendetes Array von Zeigern auf
+ <emphasis>Umgebungsvariablen</emphasis>. Davon wird oft als
+ <varname>env</varname> gesprochen.</para>
+
+ <para>Der Aufbau von <varname>env</varname> entspricht dem von
+ <varname>argv</varname>, eine Liste von Speicheradressen gefolgt
+ von NULL (<constant>0</constant>). In diesem Fall gibt es kein
+ <varname>"envc"</varname>—wir finden das Ende heraus,
+ indem wir nach dem letzten NULL suchen.</para>
+
+ <para>Die Variablen liegen normalerweise in der Form
+ <varname>name=value</varname> vor, aber manchmal kann der
+ <varname>=value</varname>-Teil fehlen. Wir müssen diese
+ Möglichkeit in Betracht ziehen.</para>
+ </sect2>
-<listitem>
-<para>
-It must start with an <acronym>HTTP</acronym>
-header followed by two blank lines.
-</para>
-</listitem>
+ <sect2 id="x86-webvar">
+ <title>webvars</title>
-<listitem>
-<para>
-It then prints the <acronym>HTML</acronym>
-code, or whatever other type of data it is producing.
-</para>
-</listitem>
+ <para>Ich könnte Ihnen einfach etwas Code zeigen, der die
+ Umgebung in der Art vom &unix;-Befehl
+ <application>env</application> ausgibt. Aber ich dachte, dass es
+ interessanter sei, ein einfaches CGI-Werkzeug in Assembler zu
+ schreiben.</para>
-</itemizedlist>
-<note>
-<para>
-While certain <emphasis>environment variables</emphasis> use
-standard names, others vary, depending on the web server. That
-makes <application>webvars</application>
-quite a useful diagnostic tool.
-</para>
-</note>
+ <sect3 id="x86-cgi">
+ <title>CGI: Ein kurzer Überblick</title>
-</sect3>
+ <para>Ich habe eine <ulink
+ url="http://www.whizkidtech.redprince.net/cgi-bin/tutorial">detaillierte
+ <acronym>CGI</acronym>-Anleitung</ulink> auf meiner Webseite,
+ aber hier ist ein sehr kurzer Überblick über
+ <acronym>CGI</acronym>:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Der Webserver kommuniziert mit dem
+ <acronym>CGI</acronym>-Programm, indem er
+ <emphasis>Umgebungsvariablen</emphasis> setzt.</para>
+ </listitem>
+
+ <listitem>
+ <para>Das <acronym>CGI</acronym>-Programm schreibt seine
+ Ausgabe auf <filename>stdout</filename>. Der Webserver
+ liest von da.</para>
+ </listitem>
+
+ <listitem>
+ <para>Die Ausgabe muss mit einem
+ <acronym>HTTP</acronym>-Kopfteil gefolgt von zwei
+ Leerzeilen beginnen.</para>
+ </listitem>
+
+ <listitem>
+ <para>Das Programm gibt dann den <acronym>HTML</acronym>-Code
+ oder was für einen Datentyp es auch immer verarbeitet
+ aus.</para>
+ </listitem>
+
+ <listitem>
----------------------------------------------
Diff block truncated. (Max lines = 200)
----------------------------------------------
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-cvs-doc" in the body of the message
Received on Wed 29 Aug 2007 - 21:39:38 CEST