Ein Application Binary Interface (ABI, Anwendungsbinärschnittstelle) definiert die konkrete Realisierung einer Schnittstelle einer API für ein bestimmtes System.
Hier wird nicht definiert, welche Schnittstellen zur Verfügung stehen und welche Parameter sie haben, sondern 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 Fließkommazahlen.
Das ABI stellt einen definierten Übergang vom Programm ins System 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 normalerweise nur für eine Programmiersprache bzw. einen Compilertyp, da die Regeln, wie z.B. aus einer Funktionsdefinition ein symbolischer Name 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 wie gesagt kaum möglich ist, das System sanft an eine neue ABI anzupassen, löste dieser schnelle Wechsel viel Unmut aus. Noch heute müssen C++-Programme für Linux - das hauptsächlich auf den GNUCompiler aufbaut - daher entweder im Quelltext oder in mehreren ABI-Versionen ausgeliefert werden.
Dieser Beitrag ist aus der XML-Version der deutschen WikiPedia® entwickelt worden und unterliegt inhaltlich den GNU FDL-Lizenzbestimmungen. Linkziele außerhalb der wikipedia-Inhalte unterliegen den Urheberrechten der jeweiligen Anbieter
( DirectDownloads ) Kalenderblätter druckfertig aufbereitet für Schmuckblätter zum Selbstdrucken im Word DOC6/RTF Format, je Euro 5 über Click&BuyJAN | FEB | MÄRZ APRIL | MAI | JUNI JULI | AUG | SEPT OKT | NOV | DEZ
Das Geschenk für jeden Anlass, nicht nur bei 'runden' Jubiläen Andere Einzeltage oder Zahlungsarten bitte HIER bestellen
Diese Web Site verdient ihr Geld durch Produktverkäufe (CD-ROM, downloads) und in erster Linie durch Anzeigen. Wenn Sie als Webmaster zuverlässige Partner suchen für Ihr eigenes Anzeigenschäft, dürfen Sie sich gerne auf unsere Empfehlungen stützen:
z.B.: GigaCash & ProfiWin