[解決済み] コンパイル時の-pthreadと-lpthreadの違いについて
2022-06-17 21:12:07
質問
とはどのような違いがあるのでしょうか?
gcc -pthread
と
gcc -lpthread
の2種類がありますが、これはマルチスレッドプログラムのコンパイル時に使用されるものですか?
どのように解決するのですか?
-pthread
は、コンパイラに pthread ライブラリをリンクするように指示し、 スレッド用にコンパイルを設定します。
例えば、以下は
-pthread
オプションが使用されたときに定義されるマクロを示します。
$ gcc -pthread -E -dM test.c > dm.pthread.txt
$ gcc -E -dM test.c > dm.nopthread.txt
$ diff dm.pthread.txt dm.nopthread.txt
152d151
< #define _REENTRANT 1
208d206
< #define __USE_REENTRANT 1
を使うことで
-lpthread
オプションを使用すると、pthread ライブラリがリンクされるだけで、 定義済みのマクロは定義されません。
結論から言うと
-pthread
オプションを使うべきです。
注
-pthread
オプションは GCC ドキュメントでプラットフォーム固有のオプションとして文書化されているので、いつも利用できるとは限りません。 しかしながら、GCC ドキュメントが明示的にリストしていないプラットフォーム (i386 や x86-64 など) では、利用可能です - 利用可能な場合は、それを使うべきです。
また、他の似たようなオプションがGCCによって使われてきたことにも注意してください。
-pthreads
(の同義語としてリストされている
-pthread
は Solaris 2 では同義語として挙げられています)、そして
-mthread
(i386とx86-64のWindowsでのMinGW固有のスレッドサポートのため)。私の理解では、GCC は
-pthread
を一律に使用するように移行しようとしていると理解しています。
関連
-
[解決済み] なぜGCCはa*a*a*a*aを(a*a*a)*(a*a*a)に最適化しないのでしょうか?
-
[解決済み] C++11では、標準化されたメモリモデルが導入されました。その意味するところは?そして、C++プログラミングにどのような影響を与えるのでしょうか?
-
[解決済み] プロセスとスレッドの違いは何ですか?
-
[解決済み] wait()とsleep()の違いについて
-
[解決済み] g++とgccの違いは何ですか?
-
[解決済み] JavaにおけるRunnableインターフェースとCallableインターフェースの違いについて
-
[解決済み] デッドロックとライブロックの違いは何ですか?
-
[解決済み】高放射能環境下で使用するアプリケーションのコンパイルについて
-
[解決済み】Invoke()とBeginInvoke()の違いは何ですか?)
-
[解決済み] 非同期とマルチスレッド - 違いはあるのか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
コレクションが変更されたため、列挙操作が実行できない場合がある Error
-
[解決済み] Nodejsのシングルスレッドの意味するところ
-
[解決済み] 再帰的ロック (Mutex) vs 非再帰的ロック (Mutex)
-
[解決済み] コンパイル時の-pthreadフラグの意味
-
[解決済み] デッドロックとは何ですか?
-
[解決済み] マルチスレッドに代わるNode JSを把握する
-
[解決済み] スレッドコンテキストスイッチとプロセスコンテキストスイッチの比較
-
[解決済み] コンパイル時の-pthreadと-lpthreadの違いについて
-
[解決済み] ノンブロッキングI/Oは、マルチスレッドのブロッキングI/Oより本当に速いのか?どのように?
-
[解決済み] 条件付き変数とセマフォの比較