gettid() 编译问题
代码里用到的 gettid()
,编译时有报错,说找不到对应的头文件。
根据 man gettid 里的说法,libc 并没有提供这个系统调用的包装:
NOTES
Glibc does not provide a wrapper for this system call; call it using syscall(2).
...
所以在实际使用时,需要添加以下声明:
#include <sys/syscall.h>
#include <unistd.h>
#define gettid() syscall(SYS_gettid)