Wie funktionieren die Compiler Python -> JS, C++, usw....?
Hi,
ich frage mich, wie diese Compiler Python -> JS (RapidScript) oder EXE (PyInstaller) funktionieren.
Wird der Compiler einfach die verknüpfte Maschine / Systemfunktion der Python-Funktion suchen und sie dann in der dementsprechenden Zielsprache umsetzen?
Danke!
1 Antwort
Es gibt einen Unterschied zwischen Compiler und Transpiler.
Ein Transpiler übersetzt eine Programmiersprache in eine andere. Dafür werden im wesentlichen Systemaufrufe durch Äquivalente Systemaufrufe ersetzt.
Wenn du RapydScript meinst dann ist das kein volles Python, sondern nur eine an Python angelehnte Sprache die am Ende in Javascript übersetzt wird. Dazu müssen gar keine Systemaufrufe direkt betrachtet werden, sondern Keywords und Konstrukte werden einfach 1 zu 1 in das JS äquivalent übersetzt, ansonsten würde es zB Probleme mit Libraries etc geben.
pyinstaller auf der anderen Seite übersetzt da gar nichts. Pyinstaller nimmt gibt den Pythoninterpreter und alle Abhängigkeiten einfach nur in eine Datei. Wenn du das Programm ausführst, entpackt das Programm den Pythoncode und die Libraries und dann ist es genau gleich wie wenn normales Python ausgeführt wird.
OK danke, super.
Dann meinst Du dass pyinstaller auch in der EXE Datei das "Python Programm" (das man auf Rechner installiert um Python benutzen zu können) mitnimmt ?
Da diese .EXE Datei auf allen den Windows Maschine benutzbar ist, unabhängig davon, ob Python auf dieser Maschine installiert ist oder nicht.