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

在任何平台上运行使用cython编译的python,python,cython,Python,Cython,我用cython将python脚本转换为C文件,然后用gcc编译它。 可以在任何平台上运行输出文件吗?Nop。在Windows下编译python扩展(通过Cython)将为您提供一个.pyd(相当于一个DLL),而您将获得一个。因此,在Linux下(这不是扩展问题,而是…)。例如,如果您是在Linux下构建的,则必须在Windows下设置,可能需要对某些特定部分的代码进行修改,最后使用此模拟版本的gcc重新编译 如果您的目标是Win64,请看一看常规的MinGW项目,它是32位的 注意:

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

Nop。在Windows下编译python扩展(通过Cython)将为您提供一个
.pyd
(相当于一个DLL),而您将获得一个
。因此,在Linux下(这不是扩展问题,而是…)。例如,如果您是在Linux下构建的,则必须在Windows下设置,可能需要对某些特定部分的代码进行修改,最后使用此模拟版本的gcc重新编译

如果您的目标是Win64,请看一看常规的MinGW项目,它是32位的

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

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

没有。在Windows下编译python扩展(通过Cython)将为您提供一个
.pyd
(相当于一个DLL),而您将获得一个
。因此,在Linux下(这不是扩展问题,而是…)。例如,如果您是在Linux下构建的,则必须在Windows下设置,可能需要对某些特定部分的代码进行修改,最后使用此模拟版本的gcc重新编译

如果您的目标是Win64,请看一看常规的MinGW项目,它是32位的

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

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

C通常需要为每个平台专门编译。不过,代码可能是兼容的。请查看交叉编译。通常,C需要专门为每个平台编译。不过,代码可能是兼容的。请查看交叉编译。我有一个示例,您可以提供有关的详细信息。我有一个示例,您可以提供有关的详细信息。