Cython的系统调用或gettid系统函数

时间:2018-05-06 15:59:14

标签: linux cython

我需要从Cython中调用gettid。根据其手册页,我应该使用syscall函数。我正在运行Linux。

我可以轻松获得gettid功能编号:

cdef extern from "sys/syscall.h":
    cdef int __NR_gettid

但是我找不到如何导入或更好地导入syscall

有什么想法吗?

感谢。

1 个答案:

答案 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