0

在 Windows 下编译 Python 扩展时遇到问题,我问了一个问题。其中一个答案没有回答我的问题,但值得作为一个问题单独提出。

给定 Windows 下的 Visual C++ 编译 Python 发行版,如果我使用 Visual C++ 编译的扩展和 MinGW 编译的扩展,我会有什么问题吗?

当它比配置 MS 编译器更容易时,这将允许我使用 MinGW。

4

1 回答 1

-1

它没有得到官方支持,但我认为它应该可以工作。Python 公开extern "C"函数(使用 C 链接),因此您应该能够从 MSVC 调用它们。但这只是 Python 本身。那么扩展呢?PyMODINIT_FUNC它也有extern "C",因此也允许从 MSVC 调用它。通过函数指针传递给 Python 的函数也应该可以工作,因为它们cdecl默认使用调用约定,但不需要 C 链接(或 C 名称修改),因为它们是通过指针调用的。总而言之,它应该只是工作™。

于 2013-12-21T10:45:53.687 回答