Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

 << zurück
C von A bis Z von Jürgen Wolf
Das umfassende Handbuch für Linux, Unix und Windows
– 2., aktualisierte und erweiterte Auflage 2006
Buch: C von A bis Z

C von A bis Z
1.116 S., mit CD, Referenzkarte, 39,90 Euro
Galileo Computing
ISBN 3-89842-643-2
gp Kapitel 1 Einstieg in C
  gp 1.1 Übersicht zu C
  gp 1.2 Der ANSI C-Standard
    gp 1.2.1 Der Vorteil des ANSI C-Standards
  gp 1.3 Der POSIX-Standard
  gp 1.4 Vor- und Nachteile der Programmiersprache C
  gp 1.5 C in diesem Buch
  gp 1.6 Was benötige ich für C?
    gp 1.6.1 Texteditor
    gp 1.6.2 Compiler
    gp 1.6.3 All-in-one – die Entwicklungsumgebung
  gp 1.7 Welcher Compiler und welches Betriebssystem?


Galileo Computing - Zum Seitenanfang

1.2 Der ANSI C-Standard  downtop

C wurde 1972 von Dennis Ritchie und Ken Thompson erfunden, wobei »erfunden« nicht ganz der richtige Ausdruck ist. C wurde aufgrund einiger Einschränkungen der Vorgängersprache B implementiert und hauptsächlich für das Betriebssystem UNIX entwickelt. Denn vorher war UNIX vollständig in Assembler programmiert.

Als die ersten frei erhältlichen Compiler für C erschienen, war der Siegeszug nicht mehr aufzuhalten. C wurde im Zusammenhang mit UNIX zur erfolgreichsten Sprache überhaupt.

C wurde aber nicht entwickelt, um Software zu schreiben, sondern für Programmierer, die Compiler entwickelten. Und genau da lag das Problem. Jeder Compiler-Hersteller kochte sein eigenes Süppchen und erweiterte die Programmiersprache um einige Funktionen oder ließ die eine oder andere bestehende wegfallen.

Mit der Zeit entstanden immer mehr unterschiedliche C-Dialekte, und eine Portierung von einem zum anderen System kam dem Neuschreiben eines Programms gleich.

Schließlich hatte sich eine Gruppe von Compiler-, Hardware- und Software-Entwicklern zusammengefunden, mit der Absicht, das Problem der Vielfalt der Sprachendialekte zu beheben. »American National Standard Institute« (kurz ANSI) rief 1983 ein Komitee namens X3J11 ins Leben mit der Aufgabe, die Sprache C zu standardisieren.


Hinweis   ANSI beherbergt natürlich nicht nur den C-Standard, sondern ist auch verantwortlich für unzählige weitere Standards weltweit (siehe http://www.ansi.org/).


Es wurde ein Entwurf für einen gemeinsamen Standard und dessen Einhaltung entwickelt. 1989 war es dann endlich soweit: Der Entwurf wurde vorgelegt und auch von der »International Standards Organization« (ISO) übernommen. In der Kurzform hieß er C89-Standard (ANSI Standard X3.159–1989). Teil des ANSI C Standards sind die Software Bibliotheken (besser bekannt unter dem Begriff ANSI C standard library).

Bei einer späteren Revision des C Standards wurden neue Headerdateien zur Bibliothek hinzugefügt. 1995 kamen bspw. die Headerdateien <iso646.h>, <wchar.h> und <wctype.h> hinzu, welche als Normative Amendment 1 bezeichnet wurden (kurz NA1).

Vier Jahre später, 1999, kamen dann die Headerdateien <complex.h>, <fenv.h>, <inttypes.h>, <stdbool.h>, <stdint.h> und <tgmath.h> hinzu. Diese Revision wurde dann als C99-Standard bekannt.

Natürlich wurden nicht immer nur Headerdateien hinzugefügt, sondern auch die wesentlichen Schwächen von C verbessert. Dies muss an dieser Stelle erwähnt werden, da häufig auf Titeln von Büchern zu lesen ist: »Entspricht dem neuen C99-Standard«. Häufig bezieht sich diese Aussage auf die wesentlichen Verbesserungen von C und nicht auf die neuen Bibliotheken.

Mittlerweile ist der C99-Standard (ISO/IEC 9899:1999) aktuell, der 1999 festgelegt wurde. Wobei ich hier anmerken muss, dass der echte ANSI C99-Standard bei noch keinem Compiler vollständig implementiert ist. Die meisten Compiler basieren noch auf der im Jahre 1995 aktualisierten ISO/IEC-Norm 9899:1995. In diesem Buch werden einige neue Datentypen, Funktionen und Makros, die mit dem ANSI C99-Standard eingeführt wurden, in einem eigenen Kapitel kurz erwähnt.

Sofern Sie den Standard lesen wollen, müssen Sie diesen käuflich erwerben, da es keine Online-Version davon gibt. Der ISO-Standard wird in Genf unter folgender Adresse vertrieben:

ISO Distribution
Case Postale 56
CH-1211 Geneve 20
Suisse

Sie können Sie allerdings auch eine »Rationale« via FTP von ftp.uu.net beziehen. Im Verzeichnis doc/standards/ansi/X3.159–1989 finden Sie eine entsprechende Postscript-Datei, welche auch von Silicon Press (ISBN 0–929306–07–4) vertrieben wird.


Hinweis   Eine »Rationale« ist eine Erklärung, warum der Standard eine Entscheidung so und nicht anders getroffen hat. Allerdings ist diese »Rationale« nicht Bestandteil des ANSI Standard, weshalb diese auch nicht im oben genannten ISO-Standard vorhanden ist. Die »Rationale« dient lediglich zur Information.



Galileo Computing - Zum Seitenanfang

1.2.1 Der Vorteil des ANSI C-Standards  toptop

Der Hauptvorteil des ANSI C-Standards ist die Portabilität von C-Programmen. Das bedeutet, wenn Sie ein Programm auf Plattform A geschrieben haben und übersetzen, lässt sich dieses Programm auch auf Plattform B übersetzen. Natürlich ist damit eine Neuübersetzung des Quellcodes gemeint und nicht das ausführbare Programm. ANSI C-Compiler gibt es für über 40 Systeme, vom kleinsten 8-Bit-Computer bis hin zum Superrechner.

Nicht portabel hingegen sind hardwarenahe bzw. betriebssystemspezifische Operationen. Wenn Sie zum Beispiel ein Programm für UNIX/Linux schreiben, das die Grafikkarte anspricht, wird das Programm seine Ausführung auf anderen Systemen verweigern.

Es gibt natürlich noch eine Reihe von weiteren Standards, die aber in diesem Buch nicht behandelt werden.

 << zurück
  
  Zum Katalog
Zum Katalog: C von A bis Z
C von A bis Z
bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Shell-Programmierung






 Shell-Programmierung


Zum Katalog: Linux-UNIX-Programmierung






 Linux-UNIX-Programmierung


Zum Katalog: C/C++






 C/C++


Zum Katalog: UML 2.0






 UML 2.0


Zum Katalog: Reguläre Ausdrücke






 Reguläre Ausdrücke


Zum Katalog: Linux






 Linux


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo





Copyright © Galileo Press 2006
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de