如何从 Cython 调用 C-API 函数,例如 PyUnicode_READ_CHAR?
How to call a C-API function such as PyUnicode_READ_CHAR from Cython?
我正在使用 Cython 来加速对字符串(unicode,CPython 3.6)进行操作的函数。
如何从我的 Cython .pyx
代码中调用 CPython 的 Py_UCS4 val = PyUnicode_READ_CHAR(my_string, my_index)
?我无法找出从 Cython 导入和使用 C-API 的正确方法。
谢谢!
Cython 不会将整个 CPython 的 C-API 包装在 cpython.*
-headers 中,只有最重要的部分。如果一个函数没有被包装,它总是可以即时完成,例如:
#instead of from cpython.unicode cimport PyUnicode_READ_CHAR
cdef extern from *:
Py_UCS4 PyUnicode_READ_CHAR(object o, Py_ssize_t index)
之后该函数就可以在Cython中使用了
我正在使用 Cython 来加速对字符串(unicode,CPython 3.6)进行操作的函数。
如何从我的 Cython .pyx
代码中调用 CPython 的 Py_UCS4 val = PyUnicode_READ_CHAR(my_string, my_index)
?我无法找出从 Cython 导入和使用 C-API 的正确方法。
谢谢!
Cython 不会将整个 CPython 的 C-API 包装在 cpython.*
-headers 中,只有最重要的部分。如果一个函数没有被包装,它总是可以即时完成,例如:
#instead of from cpython.unicode cimport PyUnicode_READ_CHAR
cdef extern from *:
Py_UCS4 PyUnicode_READ_CHAR(object o, Py_ssize_t index)
之后该函数就可以在Cython中使用了