2016-09-25 4 views
0

Ich habe direkt eine Verwirrung wie Python erzeugenWarum Python ist niedrig?

source code ->> byte code --> python virtual machine

ist c Sprache auch Byte-Code oder kompilieren generieren?

Wenn c keinen Byte-Code generiert, wird es als Low-Level-Sprache betrachtet? Weil Assembly auch keinen Byte-Code erzeugt, deshalb ist es Low-Level, weil es direkt auf dem Rechner ausgeführt wird?

+0

Es hängt von Ihrer Sichtweise ab. – 2501

+2

Wenn eine Sprache direkt in den Maschinencode kompiliert wird oder wenig oder gar keine Auswirkungen hat, wenn eine Sprache niedrig ist - oder nicht. Sogar eine interpretierte Sprache könnte auf niedriger Ebene sein. –

+0

https://en.wikipedia.org/wiki/Low-level_programming_language – donkon

Antwort

5

Byte-Codes sind für die CPU nicht selbstverständlich, daher müssen sie interpretiert werden (durch einen nativen Code der CPU, der als Interpreter bezeichnet wird).

enter image description here

Der Python-Code Sie schreiben in Python-Bytecode kompiliert, die Datei mit der Erweiterung .pyc erstellt. Wenn kompiliert wird, wird dein Bytecode, der in der pyc-Datei vorhanden ist und im Kompilierungsschritt erzeugt wurde, dann von geeigneten virtuellen Maschinen ausgeführt.

Gibt es einen Python-Compiler?

PyPy es ist JIT-Compiler für Python-Code. Nuitka, Nuitka versucht, reines Python nicht in Bytecode, sondern in Maschinencode (über C++ - Compiler) zu übersetzen, während libpython zur Laufzeit verwendet wird. Ein anderer ist ShedSkin. Es kompiliert implizit statisch typisierte Python in C++, eigenständige Programme oder Erweiterungsmodule.

Verwandte Themen