Python程序变成一个标准程序集



是否可以将Python程序转换为像IEEE-694这样的微处理器标准汇编语言? 程序集语法接近于此语法或者另一个:http://www.ethicalhacker.net/content/view/152/2/

将python编译为C,然后使用您选择的C编译器将其编译。

或者,使用 PyPy,指定 LLVM 作为目标,并使用 LLVM 静态编译器为目标体系结构生成汇编语言。

与 C、FORTRAN、COBOL 等不同。 支持 lambda 演算或自动内存管理的语言不能直接编译为汇编。 但是,可以在微代码或引导程序中提供解释器,以弥合差距并允许"编译"的Python,LISP等。 (某些操作(如垃圾回收(仍在打包到编译二进制文件中的嵌入式解释器中执行。

由于Python

是一种动态类型语言,因此只有当汇编程序使用Python的运行时环境/库来动态获取对象时,这才有可能。

因此,只有在一些开销下才有可能。

但是有来自PyPy项目的RPython。它是Python语言的一个受限子集(它不再是动态类型,并且缺少Python标准库中的大多数模块(。RPython程序可以转换为机器代码(AFAIK它生成C代码作为中间代码(。

Python本身为其虚拟机生成中间代码。如果您想查看此代码,请使用 Python 标准库中的 dis 模块。这将生成类似 Python 函数的程序集表示形式。请记住,"真正的"微处理器将无法使用它,并且结果可能会随着您使用的Python版本而改变。

最新更新