Eine Binärschnittstelle definiert eine Schnittstelle auf Maschinenebene zwischen einem Programm und dem Betriebssystem, bzw. zwischen einem Programm und einer Bibliothek, oder auch zwischen verschiedenen Bestandteilen des Programms. Eine Binärschnittstelle wird auch als ABI (englisch application binary interface) bezeichnet. Eine ABI gilt manchmal nur für eine Programmiersprache bzw. einen Compilertyp, da die Regeln, wie beispielsweise aus einer Funktionsdefinition ein symbolischer Name gebildet werden soll, sprachabhängig sind.

Property Value
dbo:abstract
  • Eine Binärschnittstelle definiert eine Schnittstelle auf Maschinenebene zwischen einem Programm und dem Betriebssystem, bzw. zwischen einem Programm und einer Bibliothek, oder auch zwischen verschiedenen Bestandteilen des Programms. Eine Binärschnittstelle wird auch als ABI (englisch application binary interface) bezeichnet. Es definiert, wie der Programmcode auf Ebene der Maschinensprache auszusehen hat, der eine solche Schnittstelle verwendet. Beispiele dafür sind die Reservierung von bestimmten Prozessorregistern für bestimmte Zwecke, die Richtung des Stacks oder das Format von Gleitkommazahlen. Eine Binärschnittstelle unterscheidet sich von einer Programmierschnittstelle (API) (englisch application programming interface) darin, dass die Programmierschnittstelle eine Schnittstelle auf Quelltextebene definiert. Dadurch lässt sich der Quelltext auf verschiedenen Maschinen kompilieren, die die Programmierschnittstelle unterstützen. Die Binärschnittstelle dagegen erlaubt den Betrieb auf allen Systemen, die eine binärkompatible Schnittstelle zur Verfügung stellen, ohne dass ein Neukompilieren erforderlich wäre. Die Binärschnittstelle stellt neben der Festlegung auf eine Architektur auch einen definierten Übergang vom Programm ins Betriebssystem dar. Es regelt Dinge wie Aufrufkonventionen, Systemaufruftabellen, die Bedeutung von Signalnummern und so weiter. Es sollte möglich sein, dasselbe Programm im Binärformat auf allen Systemen laufen zu lassen, die dessen ABI unterstützen. Eine ABI gilt manchmal nur für eine Programmiersprache bzw. einen Compilertyp, da die Regeln, wie beispielsweise aus einer Funktionsdefinition ein symbolischer Name gebildet werden soll, sprachabhängig sind. Ändert sich eine ABI, müssen alle Programme, für die sie gilt, neu kompiliert werden – daher passiert dies sehr selten. Ein jüngeres Gegenbeispiel ist jedoch die C++-ABI für den GNU-C++-Compiler, die sich zuerst von Version 2.95 zu Version 3.0 änderte; auf Grund von Fehlern in dieser neuen ABI kam es bald darauf in der Version 3.1 zu einer weiteren Umstellung, die wiederum bald darauf durch die ABI der Version 3.2 abgelöst wurde, um zu anderen Compilern wie dem von Intel kompatibel zu sein. Da es kaum möglich ist, das System sanft an eine neue ABI anzupassen, löste dieser schnelle Wechsel viel Unmut aus.Der letzte ABI-Wechsel erfolgte mit Version 3.4 (freigegeben am 18. April 2004), welche auch in der aktuellen 4.x-Reihe des GCC Verwendung findet. Eine Binärschnittstelle für Eingebettete Systeme wird auch als EABI (embedded-application binary interface) bezeichnet. (de)
  • Eine Binärschnittstelle definiert eine Schnittstelle auf Maschinenebene zwischen einem Programm und dem Betriebssystem, bzw. zwischen einem Programm und einer Bibliothek, oder auch zwischen verschiedenen Bestandteilen des Programms. Eine Binärschnittstelle wird auch als ABI (englisch application binary interface) bezeichnet. Es definiert, wie der Programmcode auf Ebene der Maschinensprache auszusehen hat, der eine solche Schnittstelle verwendet. Beispiele dafür sind die Reservierung von bestimmten Prozessorregistern für bestimmte Zwecke, die Richtung des Stacks oder das Format von Gleitkommazahlen. Eine Binärschnittstelle unterscheidet sich von einer Programmierschnittstelle (API) (englisch application programming interface) darin, dass die Programmierschnittstelle eine Schnittstelle auf Quelltextebene definiert. Dadurch lässt sich der Quelltext auf verschiedenen Maschinen kompilieren, die die Programmierschnittstelle unterstützen. Die Binärschnittstelle dagegen erlaubt den Betrieb auf allen Systemen, die eine binärkompatible Schnittstelle zur Verfügung stellen, ohne dass ein Neukompilieren erforderlich wäre. Die Binärschnittstelle stellt neben der Festlegung auf eine Architektur auch einen definierten Übergang vom Programm ins Betriebssystem dar. Es regelt Dinge wie Aufrufkonventionen, Systemaufruftabellen, die Bedeutung von Signalnummern und so weiter. Es sollte möglich sein, dasselbe Programm im Binärformat auf allen Systemen laufen zu lassen, die dessen ABI unterstützen. Eine ABI gilt manchmal nur für eine Programmiersprache bzw. einen Compilertyp, da die Regeln, wie beispielsweise aus einer Funktionsdefinition ein symbolischer Name gebildet werden soll, sprachabhängig sind. Ändert sich eine ABI, müssen alle Programme, für die sie gilt, neu kompiliert werden – daher passiert dies sehr selten. Ein jüngeres Gegenbeispiel ist jedoch die C++-ABI für den GNU-C++-Compiler, die sich zuerst von Version 2.95 zu Version 3.0 änderte; auf Grund von Fehlern in dieser neuen ABI kam es bald darauf in der Version 3.1 zu einer weiteren Umstellung, die wiederum bald darauf durch die ABI der Version 3.2 abgelöst wurde, um zu anderen Compilern wie dem von Intel kompatibel zu sein. Da es kaum möglich ist, das System sanft an eine neue ABI anzupassen, löste dieser schnelle Wechsel viel Unmut aus.Der letzte ABI-Wechsel erfolgte mit Version 3.4 (freigegeben am 18. April 2004), welche auch in der aktuellen 4.x-Reihe des GCC Verwendung findet. Eine Binärschnittstelle für Eingebettete Systeme wird auch als EABI (embedded-application binary interface) bezeichnet. (de)
dbo:thumbnail
dbo:wikiPageID
  • 17841 (xsd:integer)
dbo:wikiPageRevisionID
  • 158076598 (xsd:integer)
dct:subject
rdfs:comment
  • Eine Binärschnittstelle definiert eine Schnittstelle auf Maschinenebene zwischen einem Programm und dem Betriebssystem, bzw. zwischen einem Programm und einer Bibliothek, oder auch zwischen verschiedenen Bestandteilen des Programms. Eine Binärschnittstelle wird auch als ABI (englisch application binary interface) bezeichnet. Eine ABI gilt manchmal nur für eine Programmiersprache bzw. einen Compilertyp, da die Regeln, wie beispielsweise aus einer Funktionsdefinition ein symbolischer Name gebildet werden soll, sprachabhängig sind. (de)
  • Eine Binärschnittstelle definiert eine Schnittstelle auf Maschinenebene zwischen einem Programm und dem Betriebssystem, bzw. zwischen einem Programm und einer Bibliothek, oder auch zwischen verschiedenen Bestandteilen des Programms. Eine Binärschnittstelle wird auch als ABI (englisch application binary interface) bezeichnet. Eine ABI gilt manchmal nur für eine Programmiersprache bzw. einen Compilertyp, da die Regeln, wie beispielsweise aus einer Funktionsdefinition ein symbolischer Name gebildet werden soll, sprachabhängig sind. (de)
rdfs:label
  • Binärschnittstelle (de)
  • Binärschnittstelle (de)
owl:sameAs
prov:wasDerivedFrom
foaf:depiction
foaf:isPrimaryTopicOf
is dbo:category of
is dbo:wikiPageRedirects of
is foaf:primaryTopic of