代码之家  ›  专栏  ›  技术社区  ›  user6369958

Cython的syscall或getId系统函数

  •  1
  • user6369958  · 技术社区  · 6 年前

    我需要打电话 gettid 来自Cython。根据其手册页,我应该使用 syscall 作用我正在运行Linux。

    我可以很容易地得到 GetId 功能编号:

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

    但我找不到如何导入或更好的导入, 系统调用

    有什么想法吗?

    谢谢

    1 回复  |  直到 6 年前
        1
  •  1
  •   ead    6 年前

    您可以在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