我将我的python脚本用cython转换为C文件,然后用gcc编译它。 是否可以在任何平台上运行输出文件?
答案 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