上善若水

天道酬勤

undefined reference to gettid() 错误

《Linux多线程服务端编程》建议使用gettid(2)系统调用的返回值作为线程id。

写了个测试:

void * threadFunc(void *arg)
{
    pid_t tid = gettid();
    //...
}

编译出现错误:undefined reference to gettid()

网上查了一下,需要使用syscall的方式进行调用,于是简单封装了一蛤

pid_t gettid(void)
{
    return syscall(__NR_gettid);
}

参考:
1.http://blog.csdn.net/delphiwcdj/article/details/8476547
2.http://stackoverflow.com/questions/9565177/call-gettid-witin-glibc
3.http://blog.csdn.net/xsckernel/article/details/8543377

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhangxiao93/article/details/52354610
文章标签: 多线程 linux gettid
个人分类: muduo和多线程学习
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭