gpt4 book ai didi

c++ - ubuntu 找不到 "gettid"函数?

转载 作者:太空宇宙 更新时间:2023-11-04 09:21:20 27 4
gpt4 key购买 nike

我有一个非常小的程序来测试线程相关的东西:

#include<unistd.h>
#include<sys/types.h>
#include<stdio.h>
int main()
{
pid_t pid=getpid();
pid_t tid=gettid();
printf("%d,%d\n",pid,tid);
return 0;
}

在 vim 编辑器中,我专注于 'gettid' 和 Shift-K,gettid 的手册页说它在 sys/types 中。没问题,编译的时候报错:

g++ mythread.cpp 
mythread.cpp: In function ‘int main()’:
mythread.cpp:7:22: error: ‘gettid’ was not declared in this scope
pid_t tid=gettid();
^

我在 ubuntu1604 上使用新的 gcc 版本。如何解决?

最佳答案

使用:pid_t tid = syscall(SYS_gettid);因为这不能直接调用。

关于c++ - ubuntu 找不到 "gettid"函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41550410/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com