问题
在Ubuntu中使用Clang++,
|
|
编译C++11编写的多线程代码时,
|
|
发现如下问题:
|
|
分析
在Linux中,Standard C++ library的默认实现是libstdc++。虽然安装了clang,但是编译时使用的仍然是GNU的libstdc++。
执行clang++ -v以后,可以知道使用的线程模型是posix。
解决
既然底层使用了posix来实现C++11的线程,那么编译的时候必然要有-pthread
|
|
在Ubuntu中使用Clang++,
|
|
编译C++11编写的多线程代码时,
|
|
发现如下问题:
|
|
在Linux中,Standard C++ library的默认实现是libstdc++。虽然安装了clang,但是编译时使用的仍然是GNU的libstdc++。
执行clang++ -v以后,可以知道使用的线程模型是posix。
既然底层使用了posix来实现C++11的线程,那么编译的时候必然要有-pthread
|
|