Heim > Artikel > Backend-Entwicklung > Warum ist Python plattformübergreifend?
Der Grund, warum Python plattformübergreifend sein kann: Der Quellcode ist plattformübergreifend; Python-Anweisungen werden schließlich in einen C-Sprachbefehlssatz konvertiert und dann wird der C-Sprachbefehlssatz in Maschinencode kompiliert und schließlich laufen. Die plattformübergreifende Nutzung ist eingeschränkt: 1. Für Windows darf es keine Besonderheiten geben. 2. Die Kodierungsmethode muss kompatibel sein.
Das plattformübergreifende Konzept ist ein wichtiges Konzept in der Softwareentwicklung, das nicht vom Betriebssystem oder der Hardwareumgebung abhängt.
Eine unter einem Betriebssystem entwickelte Anwendung kann weiterhin unter einem anderen Betriebssystem ausgeführt werden. Wenn eine bestimmte Computersprache relativ gesehen sehr plattformübergreifend sein kann, ohne den Code zu ändern, ist die Sprache abstrakter und die Hardwaresteuerung geringer und sie eignet sich nur für die Entwicklung hochabstrakter Modellsysteme. Beispielsweise sind Java, Delphi, Yi Language und Python alle plattformübergreifend. Sie können unter verschiedenen Systemen entwickelt, ausgeführt und gewartet werden.
Die meisten Computersprachen sind im absoluten Sinne plattformübergreifend: Da sie Anweisungen auf hoher Ebene und für Menschen lesbar an die CPU erteilen, besteht keine Notwendigkeit, sich auf irgendwelche Operationen zu verlassen. Wenn Sie jedoch die Komponenten-Toolbox des Systems verwenden möchten, um eine neue grafische Benutzeroberfläche (GUI) zu erstellen, können Sie API-Funktionen oder Bibliotheksklassen im spezifischen System des Entwicklers verwenden. Obwohl C++ plattformübergreifend ist, können C++-Programme, die die Win32-API unter Windows verwenden, im Allgemeinen nicht auf Unix-Rechnern kompiliert werden. Verschiedene Compiler interpretieren auch Sprachspezifikationen unterschiedlich. In diesem Fall muss das Programm vor der Erstellung für verschiedene Systeme berücksichtigt werden.
Einige Sprachen wie Java haben von Anfang an erkannt, dass sie auf verschiedenen Plattformen ausgeführt werden müssen, und haben daher die plattformübergreifende Funktion in der lokalen Sprachumgebung ihrer Plattformen implementiert. Beispielsweise ist Java gerade deshalb plattformübergreifend einsetzbar, weil die Swing-Bibliothek auf vielen Plattformen implementiert ist. Ebenso ist ein plattformübergreifender Dateizugriff möglich, da es für die jeweiligen Plattformen Bibliotheken für den Dateizugriff gibt. Analog dazu erfordern verschiedene plattformübergreifende Probleme ihre eigenen lokalen Bibliotheken zur Lösung. Das wxWidgets-Framework ist eine solche plattformübergreifende Bibliothek, die viele verschiedene Lösungen für unterschiedliche plattformübergreifende Probleme bereitstellt. Es gibt viele ähnliche Bibliotheken, und entsprechende Bibliotheken können je nach plattformübergreifender Entwicklung in verschiedenen Sprachen verwendet werden.
Es ist sehr unwahrscheinlich, dass kompilierte Versionen für jedes Betriebssystem und jede CPU bereitgestellt und getestet werden. Open-Source-Software ermöglicht es Benutzern, den Objektcode selbst zu kompilieren, sodass der grenzüberschreitende Plattformaspekt besser ist. Ebenso entsprechen die interpretierten Sprachen oder Sprachen, die virtuelle Maschinen erfordern, eher den plattformübergreifenden Anforderungen, da Benutzer sie auch selbst kompilieren müssen. Suns Java Virtual Machine Hotspot stellt kompilierte Binärdateien nur für einige, aber nicht alle Plattformen bereit. Beispielsweise unterstützt Sun nur die i386-Plattform für GNU/Linux. Wenn Sie Linux jedoch auf einem PowerPC- oder SPARC-Computer ausführen, müssen Sie den lokalen Maschinencode selbst kompilieren oder Software von Drittanbietern verwenden, um Java-Programme auszuführen.
Viele APIs (Application Programming Interfaces) sind plattformabhängig. OpenGL kann als plattformübergreifend betrachtet werden, da es nicht von einem bestimmten Betriebssystem, einer bestimmten CPU-Architektur oder einer Marke des Grafikgeräts abhängt. Plattformspezifische APIs können als Kompatibilitätsschichten auf anderen Systemen erstellt werden, beispielsweise WINE-Bibliotheken, sodass Windows-Programme auf UNIX-Systemen ausgeführt werden können.
Darüber hinaus verfügen viele Programmiersprachen über plattformübergreifende Erweiterungen und Middleware, sodass Programmierer mit nur wenigen geringfügigen Änderungen am gleichen Quellcode, wie Qt und wxWidgets, auf verschiedenen Plattformen kompilieren/ausführen können. .
Was kann in Python plattformübergreifend gemacht werden?
Weil Python diese eigenen Anweisungen schließlich in einen C-Sprachbefehlssatz konvertiert, den C-Sprachbefehlssatz dann in Maschinencode kompiliert und ihn dann ausführt. Aus diesem Grund ist die Leistung von Python der Grund für den Unterschied ( Natürlich gibt es viele Möglichkeiten, die Geschwindigkeit zu erhöhen.
Natürlich gibt es Einschränkungen:
1. Es darf keine Besonderheiten für Windows geben;
2.
Unterstützt gängige Mainstream-Plattformen wie AIX, HPUX, Solaris, Linux, Windows usw. Gängige Unix- und Linux-Plattformen außer Windows verfügen alle über natives Python, die Version ist jedoch im Allgemeinen niedriger. Wie bei anderen plattformübergreifenden Sprachen ist auch bei plattformübergreifenden Sprachen zu beachten, dass einige einzelne Module nur für eine einzelne Plattform gelten, die plattformübergreifende Gesamtleistung jedoch immer noch sehr gut ist. Es besteht keine Notwendigkeit, mehrere Codesätze zu schreiben zur Anpassung an mehrere Plattformen.
Das bedeutet aber nicht, dass es überhaupt keine Einschränkungen gibt: Erstens sind die Zwischendateien .py, .pyc und .pyo derselben Version plattformübergreifend, zweitens PCs und mobile Endgeräte; B. Mobiltelefone und Pads, können nicht plattformübergreifend sein (den Grund finden Sie im nächsten Punkt). Es können keine Prozessorarchitekturen wie Intel und ARM, 64-Bit und 32-Bit, verwendet werden.
Das obige ist der detaillierte Inhalt vonWarum ist Python plattformübergreifend?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!