ホームページ >バックエンド開発 >C++ >GCC の std::thread を pthread に正しくリンクするにはどうすればよいですか?

GCC の std::thread を pthread に正しくリンクするにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-02 20:08:11303ブラウズ

How to Correctly Link std::thread in GCC with pthread?

GCC の std::thread の正しいリンク オプション

Linux 上の GCC では、std::thread は実装に pthread を利用します。 std::thread を正常に使用するには、コンパイル中に適切なリンク オプションを指定することが重要です。

コンパイルの問題と解決策

提供されたサンプル コードではエラーが発生します。必要な pthread ライブラリがリンクされていません。この問題を解決するには、コンパイル中にソース ファイルの後に -pthread リンカー フラグを追加します。

$ g++ -std=c++0x test.cpp -pthread

オプションの順序

次の点に注意してください。リンカー オプションは、コンパイル中にソース ファイルのに配置する必要があります。これは、コンパイラが最初にソース コードを処理し、次にリンカが必要な依存関係を解決してバイナリを完成させるためです。

修正されたコンパイル コマンドは次のようになります。

$ g++ -std=c++0x test.cpp -pthread

このガイダンスに従うことで、GCC での std::thread の使用を正しくリンクできます。 Linux では、マルチスレッド コードを意図したとおりに実行できます。

以上がGCC の std::thread を pthread に正しくリンクするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。