【问题标题】:Can I use MinGW compiled Python extensions together with Visual C++ compiled ones?我可以将 MinGW 编译的 Python 扩展与 Visual C++ 编译的扩展一起使用吗?
【发布时间】:2014-01-09 17:22:01
【问题描述】:

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

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

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

【问题讨论】:

    标签: python windows compilation python-extensions


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2010-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-08
      • 1970-01-01
      • 1970-01-01
      • 2012-01-26
      • 1970-01-01
      相关资源
      最近更新 更多