cx_freeze是如何将Python脚本编译的?

4
cx_freeze是否包含自己的编译器来转换Python代码为二进制?还是将其翻译(例如到C),然后编译已翻译的代码?
编辑:看起来它被编译为字节码。因此,这是否意味着cx_freeze.exe只是Python解释器中的字节码 -> 二进制部分?
1个回答

2

cx_Freeze并不是真正的编译你的代码。它实际上只是将你的Python代码与Python解释器一起打包,以便在启动应用程序时设置一个Python解释器并开始运行你的Python代码。它具有从Python源代码或字节码运行所需的机制,但它主要将模块存储为字节码,因为这样加载速度更快。

像Cython和Nuitka这样的选项更进一步-它们将你的代码转换为C并将其编译为机器码,但它们仍然使用Python VM机制。它只是编译后的代码调用Python功能,而不是VM运行Python字节码。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接