gpt4 book ai didi

c++ - 为什么编译器说 ‘pthread_getthreadid_np’ 没有在此范围内声明?

转载 作者:行者123 更新时间:2023-11-30 01:56:14 27 4
gpt4 key购买 nike

我正在使用 Debian 稳定版。我正在用 C++ 编写一个多线程应用程序,并使用 g++ 编译器和 -lpthread argument 进行编译。

但是函数 pthread_getthreadid_np() 不起作用:

error: ‘pthread_getthreadid_np’ was not declared in this scope

是什么导致了这个错误?

最佳答案

_np 表示“不可移植”(或“非 Posix”),这意味着它并非在所有平台上都可用。这个函数似乎特定于 BSD,为调用线程获取特定于平台的整数 ID。它在 Linux 上不存在。

根据它的用途,您可能会也可能不会使用可移植的 pthread_self 函数返回的 pthread_t 句柄(在 Linux 上是整数类型),或由 Linux 特定的 gettid 系统调用返回的数字线程 ID。或者,重新考虑您正在做的任何事情,这样您就不需要处理线程标识。

关于c++ - 为什么编译器说 ‘pthread_getthreadid_np’ 没有在此范围内声明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19954890/

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