この投稿の下部にあるコードは正常にコンパイルされますが、役に立たないバイナリが生成されます
$ clang++ -v
clang version 3.3 (trunk 168461)
Target: x86_64-unknown-linux-gnu
Thread model: posix
このコマンドが与えられたとき
clang++ -std=c++11 -pthread -s -O3 -DNDEBUG source.cpp -o source
バイナリは常にこれを生成します
terminate called after throwing an instance of 'std::system_error'
what(): Operation not permitted
Aborted (core dumped)
私が得られないものは次のとおりです。
- C++ 11 に標準でスレッド モデルが含まれている場合、POSIX スレッド ライブラリをリンクする必要があるのはなぜですか?なぜフラグ
-std=c++11
が十分でないのですか? - clang ++がサポート
-pthread
されているかどうかにかかわらず、私が読んだことによると、pthreadsをサポートする必要があります
ありがとう。
#include <iostream>
#include <thread>
void f()
{
std::cout << "Hello World\n";
}
int main()
{
std::thread t(f);
t.join();
}