Movatterモバイル変換


[0]ホーム

URL:


Zum Inhalt springen
WikipediaDie freie Enzyklopädie
Suche

Binärschnittstelle

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet vonApplication Binary Interface)
Dieser Artikel oder nachfolgende Abschnitt ist nicht hinreichend mitBelegen (beispielsweiseEinzelnachweisen) ausgestattet. Angaben ohne ausreichenden Beleg könnten demnächst entfernt werden. Bitte hilf Wikipedia, indem du die Angaben recherchierst undgute Belege einfügst.
Binärschnittstellen (engl.ABI) undProgrammierschnittstellen (engl.API) sollten nicht verwechselt werden.

EineBinärschnittstelle (englischapplication binary interface,ABI) definiert eine Schnittstelle zwischen zweiComputerprogrammen auf Maschinenebene. Ein Programm ist dabei meist dasBetriebssystem oder eineProgrammbibliothek.

Funktionsweise

[Bearbeiten |Quelltext bearbeiten]

Die Binärschnittstelle definiert, wie auf Ebene derMaschinensprache der Programmcode auszusehen hat, der eine solche Schnittstelle verwendet. Beispiele dafür sind die Reservierung von bestimmtenProzessorregistern für bestimmte Zwecke, die Richtung desStacks oder das Format vonGleitkommazahlen.

Eine Binärschnittstelle unterscheidet sich von einerProgrammierschnittstelle (englischapplication programming interface, API) darin, dass die Programmierschnittstelle eine Schnittstelle aufQuelltextebene 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 insBetriebssystem dar. Sie regelt Dinge wieAufrufkonventionen,Systemaufruftabellen, die Bedeutung vonSignalnummern 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 eineProgrammiersprache bzw. einen Compilertyp, da die Regeln, wie beispielsweise aus einerFunktionsdefinition einsymbolischer Name gebildet werden soll, sprachabhängig sind.

Ändert sich eine ABI, müssen alleProgramme, für die sie gilt, neu kompiliert werden – daher passiert dies sehr selten. Ein jüngeres Gegenbeispiel ist jedoch dieC++-ABI für denGNU-C++-Compiler, die sich zuerst vonVersion 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 vonIntel kompatibel zu sein. Da es kaum möglich ist, das System sanft an eine neue ABI anzupassen, lösten diese schnellen 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.

GCC 9 bedingte 2019 einen ABI-Wechsel für Code fürARM64-Prozessoren, um einen Fehler in derImplementierung von Prozeduraufrufen mit einemBitfeld zu beheben.[1]

Eine Binärschnittstelle füreingebettete Systeme wird auch alsEABI (embedded-application binary interface) bezeichnet.

Beispiele

[Bearbeiten |Quelltext bearbeiten]

Component Object Model

[Bearbeiten |Quelltext bearbeiten]
Hauptartikel:Component Object Model

1993 veröffentlichteMicrosoft dasComponent Object Model (COM) für wiederverwendbare Objekte, die von anderen Anwendungen benutzt werden konnten. COM bietet eine sprachenunabhängige Kommunikation zwischen verschiedenen Software-Komponenten. Das COM-Modell schafft unter demBetriebssystemWindows die Voraussetzungen verschiedene Softwarekomponenten in einem System anzusprechen und mit anderen Komponenten zu verknüpfen. Neben demObject Linking and Embedding (OLE), sindActiveX undDirectX Technologien, die auf dem COM-Modell basieren.[2]

Einige Technologien bauen auf COM auf, wie etwaObject Linking and Embedding (OLE), das eine Automatisierung von Anwendungen ermöglichte. Die Versionen vonVisual Basic, die nach 1993 veröffentlicht wurden, waren im Hinblick auf COM und OLE konzipiert worden. Dieser Ansatz war so erfolgreich, dass ein Dialekt der Sprache,Visual Basic for Applications (VBA), zur Programmiersprache vonMicrosoft-Office-Makros gewählt wurde.[3]

Common Object Request Broker Architecture

[Bearbeiten |Quelltext bearbeiten]
Hauptartikel:Common Object Request Broker Architecture

DieCommon Object Request Broker Architecture (CORBA) ist eine Spezifikation für objektorientierte, anwendungsneutrale Programme, die zwischen Anwendungsprogrammen vermitteln und dieplattformübergreifendeProtokolle undDienste definiert. Den Kern dieser Spezifikation bildet ein Vermittler, derObject Request Broker (ORB). In Kombination mit einerInterface Definition Language (IDL) und einem Binärprotokoll unterstützt CORBA den Binärstandard.

Object Linking and Embedding

[Bearbeiten |Quelltext bearbeiten]
Hauptartikel:Object Linking and Embedding

Object Linking and Embedding (OLE) ist ein vonMicrosoft entwickeltes Objektsystem undProtokoll, das die Zusammenarbeit unterschiedlicher (OLE-fähiger) Applikationen und damit die Erstellung heterogener Verbunddokumente ermöglichen soll. Während CORBAInteroperabilität im Zusammenhang mit einer IDL garantiert, definiert OLE selbst einen Binärstandard für den Zugriff auf Serverschnittstellen.

Siehe auch

[Bearbeiten |Quelltext bearbeiten]

Literatur

[Bearbeiten |Quelltext bearbeiten]
  • Holger Schwichtenberg:COM-Komponenten-Handbuch: Systemprogrammierung und Scripting mit COM-Komponenten. Addison-Wesley, 2001,ISBN 3-8273-1936-6. 
  • Peter Zöller-Greer: Software Architekturen, Grundlagen und Anwendungen, Einführung in Architekturbeschreibungssprachen (ADLs). BoD – Books on Demand, 2010,ISBN 978-3-9811639-3-3.
  • Frank Buschmann: Pattern-orientierte Software-Architektur: ein Pattern-System, Professionelle Softwareentwicklung. Pearson Deutschland, 1998,ISBN 3-8273-1282-5.

Einzelnachweise

[Bearbeiten |Quelltext bearbeiten]
  1. GCC 9 Release Series: Changes, New Features, and Fixes. In: gcc.gnu.org. Abgerufen am 2. Dezember 2021 (englisch). 
  2. Holger Schwichtenberg:COM-Komponenten-Handbuch: Systemprogrammierung und Scripting mit COM-Komponenten. Addison-Wesley, 2001,ISBN 3-8273-1936-6 (Vorschau [abgerufen am 2. Februar 2016] COM-Komponenten für den Zugriff auf Windows und BackOffice-Anwendungen). 
  3. Technologien der Windows-Entwicklung:Geschichte der Windows-Anwendungsentwicklung wiley-vch.de, abgerufen am 19. Februar 2016.
Abgerufen von „https://de.wikipedia.org/w/index.php?title=Binärschnittstelle&oldid=260639958
Kategorien:
Versteckte Kategorie:

[8]ページ先頭

©2009-2026 Movatter.jp