Konzept in Definition ABC
Verschiedenes / / July 04, 2021
Von Guillem Alsina González, Sept. 2017
Wie können wir mit jemandem auskommen, mit dem wir keine gemeinsame Sprache haben? Durch einen Übersetzer. Diese Übersetzungsfunktion führt a Compiler zu etwas werden Code ausführbarer Quellcode, der von einem Programmierer geschrieben wurde.
Kompilieren ist der Prozess, bei dem ein in einer Hochsprache geschriebenes Programm program in den Maschinencode übersetzt, der von einer bestimmten Computerarchitektur für seine Ausführung verwendet wird Direkte.
Daher und gemäß der eben vorgeschlagenen Erklärung erfordert dieses System die Wahl von a die Architektur Destination, die in jedem Fall unterschiedlich sein kann und uns dazu zwingt, für jede der verschiedenen Architekturen, in denen unser Programm laufen soll, separat zu kompilieren.
So können wir beispielsweise ein bestimmtes Programm für die 32-Bit-x86-Architektur, das 64-Bit-x86, der PowerPC oder der ARM auch 32 und 64 Bit unterscheiden, je nach Gerätetyp, in dem wir wollen starte es.
Darüber hinaus müssen wir auch die unterschiedlichen Betriebssysteme berücksichtigen, auch wenn wir für die gleiche Plattform arbeiten Hardware-, da jeder eine andere Art der Interaktion mit der physischen Maschine hat
Nehmen wir als Beispiel die x86-64-Bit-Plattform. Wir möchten vielleicht kompilieren für Fenster, GNU / Linux oder macOS, oder für jeden einzelnen von ihnen, was drei separate Kompilierungsprozesse impliziert.
Manchmal zwingt uns dies dazu, den Quellcode leicht zu optimieren und oft drei separate Versionen (oder mehr, je nach der Fall), damit sie korrekt mit den Besonderheiten und Unterschieden der Zielplattform interagieren können.
Der Kompilierungsprozess folgt einer Reihe von Schritten, wie dem Erkennen von syntaktischen Fehlern im Quellcode, dann a vorverarbeitet, um die Ressourcen zu kennen, die das Programm benötigt, und schließlich die Verknüpfung mit den Bibliotheken und Ressourcen, die für das Programm erforderlich sind Ausführung.
Auf diese Weise a Datei ausführbare Datei, die alle enthält Ressourcen die für die Ausführung erforderlich sind, und die Anweisungen, die für den Zugriff auf externe Ressourcen erforderlich sind, wie z. B. gemeinsam genutzte Codebibliotheken (geteilt).
Der Kompilierungsprozess erfolgt mit einem bestimmten Tool oder Tools (Compiler), obwohl es üblich ist, dass dies in Entwicklungsumgebungen (IDE) integriert wird, was die sein Nutzen.
Jede Sprache von Programmierung Es hat einen eigenen Compiler, obwohl der Compiler, der einer Sprache und Umgebung entspricht, seit langem in der Lage ist, ausführbare Dateien für verschiedene Plattformen zu generieren. Software anders.
Gibt es eine Alternative zum Build-Prozess? Ja, und es sind übersetzte Sprachen.
Interpretierte Sprachen sind solche, die zur Laufzeit übersetzt und nicht kompiliert werden.
Daher ist ihr Quellcode immer verfügbar, und was sie brauchen, ist der im Betriebssystem auf denen sie ausgeführt werden, gibt es einen Interpreter.
Durch die Vermeidung des Kompilierungsprozesses, wenn der Interpreter für mehrere Plattformen verfügbar ist, es wird möglich sein, das Programm auf jedem einzelnen von ihnen direkt auszuführen, normalerweise ohne Änderungen.
Andere Fokus Alternative, auf halbem Weg zwischen kompilierten und interpretierten Sprachen, sind solche, die eine virtuelle Maschine benötigen, um beispielsweise Java auszuführen.
Programmiersprachen, die auf einer Virtualisierungsschicht (virtuelle Maschine) laufen, erfordern einen Zwischenprozess ähnlich dem von Kompilierung, aber das führt zu einem Code, der nicht direkt ausführbar ist, obwohl er optimierter ist als der, der von einer Sprache ausgeführt wird interpretiert.
In diesen Fällen ist zwar ein ähnlicher Prozess wie bei der Kompilierung erforderlich, der jedoch zu einem anderen Ergebnis führt und in jedem Fall dennoch die Installation von a Laufzeit in dem Betriebssystem, in dem wir unser Programm ausführen möchten.
Fotos: Fotolia - Alexander Pokusay / Onot
Themen in Zusammenstellung