cx_freeze是否包含自己的编译器来转换Python代码为二进制?还是将其翻译(例如到C),然后编译已翻译的代码?
编辑:看起来它被编译为字节码。因此,这是否意味着cx_freeze.exe只是Python解释器中的字节码 -> 二进制部分?
编辑:看起来它被编译为字节码。因此,这是否意味着cx_freeze.exe只是Python解释器中的字节码 -> 二进制部分?
cx_Freeze并不是真正的编译你的代码。它实际上只是将你的Python代码与Python解释器一起打包,以便在启动应用程序时设置一个Python解释器并开始运行你的Python代码。它具有从Python源代码或字节码运行所需的机制,但它主要将模块存储为字节码,因为这样加载速度更快。
像Cython和Nuitka这样的选项更进一步-它们将你的代码转换为C并将其编译为机器码,但它们仍然使用Python VM机制。它只是编译后的代码调用Python功能,而不是VM运行Python字节码。