Implementationsdefiniertes Verhalten in C (Implementationsdefiniertes Verhalten in C), Lektion, Seite 724246
https://www.purl.org/stefan_ram/pub/implementationsdefiniert_c (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
C-Kurs

Implementationsdefiniertes Verhalten in C 

Implementationsdefiniertes Verhalten  ist Verhalten, das von jeder C -Implementation anders festgelegt werden kann.

Beispielsweise sind gewisse Details bei der Wandlung großer ganzer Zahlen in eine Gleitkommazahl implementationsdefiniert.

Im weiteren Verauf dieses Kurses werden wir einige Fälle implementationsdefinierten Verhaltens kennenlernen.

Wenn ein Programm so geschrieben wird, daß es implementationsdefiniertes Verhalten enthält, kann diese bedeuten, daß das Programm nur von bestimmten Implementationen so wie beabsichtigt ausgeführt werden kann. Solche Programme sollten vermieden werden. Manchmal ist es aber nötig, sich bewußt dafür zu entscheiden, ein Programm zu schreiben, das nur von bestimmten Implementationen ausgeführt werden kann.

Ein Programm ist portabel, wenn es sich unter jeder  C -Implementation wie beabsichtigt verhält.

Portable Programme werden bevorzugt, weil sie die Freiheit lassen, eine beliebige C -Implementation zu verwenden. Nicht-portable Programme werden dann geschrieben, wenn es unabdingbar ist, im Programm Eigenschaften zu verwenden, die nur einige C -Implementation bieten. Beispielsweise könnte ein nicht-portables Programm geschrieben werden, das Klänge ausgibt. Eine C -Implementation muß nicht unbedingt die Möglichkeit zur Klangausgabe haben, so daß ein solches Programm nicht auf portable Weise geschrieben werden kann.

Normalerweise gibt es eine relative kleine (überschaubare) Menge von Möglichkeiten, welches Verhalten für eine C -Implementation an Stelle eines implementationsdefinierten Verhaltens in Frage kommt. Wie sich eine C -Implementation im Falle von implementationsdefiniertem Verhalten tatsächlich verhält kann für einen Programmierer, der ein nicht-portables Programm schreiben möchte, wichtig sein. Deswegen sind C -Implementationen verpflichtet, für jeden Fall von implementationsdefiniertem Verhalten zu dokumentieren, wie  sie sich in diesem Falle verhalten. (Das heißt, daß sie diese Entscheidung in Form eines Schriftstückes [der „Dokumentation“] so verkünden müssen, daß ein Programmierer diese Entscheidung dem Schriftstück entnehmen kann.)

Siehe auch: “J.3 Implementation-defined behavior ” in “Annex J ” der Sprachnorm.

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram724246 stefan_ram:724246 Implementationsdefiniertes Verhalten in C Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd724246, slrprddef724246, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/implementationsdefiniert_c