在任何平台上运行用cython编译的python

时间:2013-12-09 06:28:47

标签: python cython

我将我的python脚本用cython转换为C文件,然后用gcc编译它。 是否可以在任何平台上运行输出文件?

1 个答案:

答案 0 :(得分:1)

NOP。在Windows下编译python扩展(通过Cython)会给你一个.pyd(相当于一个DLL),而你将在Linux下得到一个.so(好吧,它不是扩展问题,但是......)例如,如果您在Linux下构建它,则必须在Windows下设置MinGW Toolchain,可能会调整某些特定部分的代码,最后使用此模拟版本的gcc重新编译。

如果您的目标是Win64,请查看mingw-w64,而不是仅限32位的常规MinGW项目。

注意:要使代码“相对”可移植,请使用MACROs,例如:

#ifdef __WIN32__
// do my Windows specific stuff
#else
// ... handle others plateforms
#endif