C++ 其中std::thread::join是在libcxx中实现的

C++ 其中std::thread::join是在libcxx中实现的,c++,c++11,clang,C++,C++11,Clang,我想知道libcxx中在哪里实现了std::thread::join。虽然它是在标题中声明的,但似乎没有定义。我甚至看过libcxxabi,但在那里也找不到它 那么有人能指出它是在哪里实施的吗?它在靠近顶部的地方: void thread::join() { int ec = pthread_join(__t_, 0); #ifndef _LIBCPP_NO_EXCEPTIONS if (ec) throw system_error(error_code(ec,

我想知道libcxx中在哪里实现了
std::thread::join
。虽然它是在
标题中声明的,但似乎没有定义。我甚至看过libcxxabi,但在那里也找不到它

那么有人能指出它是在哪里实施的吗?

它在靠近顶部的地方:

void
thread::join()
{
    int ec = pthread_join(__t_, 0);
#ifndef _LIBCPP_NO_EXCEPTIONS
    if (ec)
        throw system_error(error_code(ec, system_category()), "thread::join failed");
#else
    (void)ec;
#endif  // _LIBCPP_NO_EXCEPTIONS
    __t_ = 0;
}

并非所有函数都在标题中定义,它们可能在一开始就在link time library.src/thread.cpp中实现。@bamboon,谢谢。我希望它出现在标题中。@LCIDFire为什么会这样?@bamboon:这应该是一个答案。