标签: python c assembly low-level
我有一个混乱,因为python generate
source code ->> byte code --> python virtual machine
c语言是否也生成字节码或直接编译?
如果c不生成字节代码,那么它被认为是低级语言的原因?因为Assembly也不生成字节代码,因为它直接在机器上执行,所以它的级别低,因为它是什么?
答案 0 :(得分:5)
字节代码对于CPU来说并不自然,因此它们需要解释(通过称为解释器的CPU本机代码)。
你编写的python代码被编译成python字节码,它创建扩展名为.pyc的文件。如果编译,那么在编译步骤中创建的pyc文件中的字节码将由适当的虚拟机执行。
有没有python编译器?
PyPy它是python代码的JIT编译器。 Nuitka,Nuitka尝试将纯Python转换为字节码,但转换为机器代码(通过C ++编译器),同时在运行时使用libpython。另一个是ShedSkin。它将隐式静态类型的Python编译为C ++,独立程序或扩展模块。