我需要从Cython中调用gettid
。根据其手册页,我应该使用syscall
函数。我正在运行Linux。
我可以轻松获得gettid
功能编号:
cdef extern from "sys/syscall.h":
cdef int __NR_gettid
但是我找不到如何导入或更好地导入syscall
。
有什么想法吗?
感谢。
答案 0 :(得分:1)
您可以在cython的github存储库中查找这些包含是如何做得最好的,例如:stdio.h。
应用此导致:
%%cython
cdef extern from "<sys/syscall.h>" nogil:
int __NR_gettid
long syscall(long number, ...)
def gettid():
return syscall(__NR_gettid)
现在gettid()
会产生:
>>> gettid()
7231