Was ist ein Zweigtisch?

Eine Zweigentabelle ist eine Methode zur effizienten Übertragung der Programmsteuerung von einem Teil eines Programms in ein anderes oder zu einem zweiten Programm, das dynamisch geladen wurde, indem ein Anweisungszweig gesendet wird oder eine Switch -Anweisung implementiert. Diese Methode, die manchmal als Sprungtabelle bezeichnet wird, basiert auf einer Reihe von Umständen oder Bedingungen, um einen Sprung durchzuführen, um ein Verfahren gemäß einer Switch -Anweisung eines C+ -Kompilers zu implementieren. Einige der Hauptvorteile von Zweigtabellen sind ihre Kompaktcodestruktur und eine Verringerung der Notwendigkeit, Rückgaberückscodes einzeln bei der Bestimmung des Programmflusses zu testen. Sie werden weiterhin für die Montageprogrammierung für eingebettete Systeme und Betriebssysteme verwendet. Seit den 1990er Jahren haben Compiler -Programmiersprachen auch die Funktionsfunktionen der Zweig Tabelle verwendet.

Branchtabellen bestehen aus einer Liste bedingungsloser Anweisungen, die bei der Eingabe auf andere Ziele abzweigen.Die meisten Computerhardware können diese Anweisungen effizient ausführen. Zuweilen kann der Offset - im Wesentlichen die Entfernung zum Ziel - zu einem Programmzählerregister hinzugefügt werden, das dann auf die Sätze von Zweiganweisungen oder auf die Sätze von Zweiganweisungen springen kann. Alles, was für die Implementierung einer Zweig -Tabelle erforderlich ist, ist die Validierung des Eingabescode, die Umwandlung der Daten in einen Offset und die Multiplizierung der Daten in eine bestimmte Anweisungslänge.

Embedded Programing verwendet Ast -Tabellen, da sie speicher effizienter sind als die Verwendung von Maschinencode oder Array -Zeiger. Eingebettete Steuerungssysteme müssen Speichereinsparungen erfordern, und obwohl dies während des Zugriffs auf die Zweigentabelle eine geringe Leistung kosten kann, würde jeder Aufruf der virtuellen Methode die gleiche Leistung für die stabile Funktionen kosten. Die begrenzten CPU -Zugriffs- und Speichereinsparungen in eingebetteten Systemen benötigen eine Zweig Tabelle FOr statische Funktionssätze.

Compiler -Programmiersprachen generieren ihre eigenen Zweig -Tabellen, wenn dies benötigt wird, indem sie Suchschlüssel für die Optimierung von Compilern benötigen. Einige Programmierer unterstützen den Compiler manuell mit der Erzeugung von Contexted-Zweig-Tabellen, indem sie dem Compiler zweistufige bedingte Parameter zur Suche nach Schlüssel geben. In den früheren Jahren der Zusammenstellung von Programmen waren die Implementierung der Zweigentabelle früher die "GOTO" -Books in Forran Compiler -Sprachen. Zweig -Tabellen werden weiterhin verwendet, um Änderungen des Programmflusses in Compiler -Sprachen zu implementieren oder ein Ausgangspunkt für wiederholte Anweisungssequenzen zu sein.

ANDERE SPRACHEN

War dieser Artikel hilfreich? Danke für die Rückmeldung Danke für die Rückmeldung

Wie können wir helfen? Wie können wir helfen?