PyType_Check() 替代 Python3.5 绑定
PyType_Check() alternative for Python3.5 bindings
我正在使用 Crystal 语言开发一个项目,其中嵌入了 Python3.5 链接 Python .so 库(没有 Python.h
header)。
看起来 PyType_Check()
和其他检查函数实际上是宏,因此在链接库时它们是不可见的。
还有其他替代方法或解决方法吗?
确切地说,C 宏在 Crystal 中不可用。但是,您只需要从 Crystal 调用它们。在编译的 C 库中,它们已经展开。
因此您可以在 Crystal 中实现这些宏。当然,您必须对嵌套宏进行一些解包。
据我所知,没有简单的解决方案。例如 Bindgen 也会忽略类似函数的宏,因为它们不能轻易转换为 Crystal.
我正在使用 Crystal 语言开发一个项目,其中嵌入了 Python3.5 链接 Python .so 库(没有 Python.h
header)。
看起来 PyType_Check()
和其他检查函数实际上是宏,因此在链接库时它们是不可见的。
还有其他替代方法或解决方法吗?
确切地说,C 宏在 Crystal 中不可用。但是,您只需要从 Crystal 调用它们。在编译的 C 库中,它们已经展开。
因此您可以在 Crystal 中实现这些宏。当然,您必须对嵌套宏进行一些解包。 据我所知,没有简单的解决方案。例如 Bindgen 也会忽略类似函数的宏,因为它们不能轻易转换为 Crystal.