PyPy - SWIG - QuickFix 混合
PyPy 有一些兼容性限制,特别是关于 CPython C API。
我使用 QuickFix 包,它附带预编译的 SWIG 绑定,并且我正在考虑将其与 PyPy 一起使用。由于我不熟悉 C API 和 SWIG,我的问题是:
- PyPy 的 C API 兼容性限制是否会妨碍与 SWIG 的工作?你能解释一下为什么吗?
- 我是否需要重新编译 SWIG 绑定才能专门与 PyPy 配合使用?这可能吗?如何?
PyPy has some compatibility limitations, especially regarding the CPython C API.
I use QuickFix package which comes with precompiled SWIG bindings, and I'm considering using it with PyPy. As I am not fluent in C API and SWIG, my questions are:
- Does PyPy's C API compatibility limitations hinder work with SWIG? Could you explain why?
- Do I need to recompile the SWIG bindings to work specifically with PyPy? Is that possible? How?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
PyPy 的 C API 兼容层无法与 SWIG 一起使用。主要原因是 SWIG 使用内部 API 并在不使用 API 的情况下深入 C 结构。我猜 SWIG 可以修复,但到目前为止还没有。
如果它有效,则必须重新编译它,但无论如何它都不会工作。
PyPy's C API compatibility layer would not work with SWIG. The main reason is that SWIG uses internal APIs and pokes into C structures without using APis. I guess SWIG could be fixed, but so far it has not been.
You would have to recompile it if it have worked, but it will not work anyway.
刚刚偶然发现了这一点。如今,SWIG 4.0.2 和 PyPy 7.3.7 或更高版本应该可以很好地协同工作,值得一试。
Just stumbled across this. These days SWIG 4.0.2 and PyPy 7.3.7 or higher should play well together, it is worth a try.