2

要使用 glibc 构建 c11 线程程序,我仍然需要与 -lpthread 链接,为什么?glibc 2.28 声称支持 c11 线程,但为什么我还需要 pthread?

musl 可以在没有 pthread 的情况下构建 c11 线程。

4

1 回答 1

4

是的,glibc 的 C11 线程实现在下面使用 pthreads 库,这就是它需要与 pthread 库链接的原因。在 glibc 中,pthreads(一直)是一个单独的库——因此需要链接它。

而在 musl 库中,线程实现是主 C 库本身的一部分,因此无论您使用 pthreads 还是 C11 线程与 musl 都无需链接任何线程库。另外,请参阅https://www.openwall.com/lists/musl/2012/07/25/3

于 2020-08-12T06:38:05.390 回答