私のプログラムは、ローダーと共有ライブラリである多くのモジュールとして構築されています。現在、これらのライブラリの1つはpthreadを使用しており、動的にモジュールにバインドされているようです(起動時にロードされます)。今では、pthreadをモジュールファイルにリンクさせることができれば簡単になります。 LinuxのGCC、どうすればいいですか?私はlibpthread.aが必要だと思います...GCCに静的リンクを強制します。 pthreads(動的リンクではない)
答えて
libpthread.a
を共有ライブラリにリンクすることは、理論的には可能ですが、実際にはという悪い考えです。その理由は、libpthread
がglibc
の一部であり、すべて部分のglibc
が正確に一致する必要があります。そうでないと、奇妙で説明できないクラッシュが発生します。
だからあなたの共有ライブラリにlibpthread.a
のリンクは以下となります。
glibc
の異なるバージョンのマシンに移動するとき、あなたの現在のマシンのglibc
があるときに、既存のプログラムがクラッシュするあなたのプログラムがクラッシュする
- 原因アップグレードされましたが、モジュールは更新された
libpthread.a
に対して再リンクされません。
あなた自身の疲労を癒してください。そうしないでください。
:オハイオ州オハイオ州オハイオ州オハイオ州オハイオ州オハイオ州私のオハイオ州グッド、それはあなたがそれを述べる。しかし、glibcのその部分は... /私はderped .. – imacake
ありがとう。答えのように。しかし、質問 - libpthreadがlibc/glibcの一部である場合、なぜそれが別のライブラリとして提供されるのですか?ほとんどすべてのlibsはlibcにリンクし、libpthreadの必要性は何ですか? – Kiran
@Kiran「なぜ別のライブラリとして提供されるのですか」 - 多くのプログラムはスレッドを必要とせず、 'libpthread'のリンクは不要なオーバーヘッドをプログラム。 –
- 1. gccに静的ライブラリを強制的にリンクさせるにはどうしたらいいですか?
- 2. GCC ICU 57静的リンク
- 3. シンボル(GCC/iPhone)をエクスポートしない静的ライブラリオブジェクトファイルを強制的に挿入する
- 4. 他の静的ライブラリにリンクする静的ライブラリに動的ライブラリをリンクする
- 5. G ++でpthreadに強制的にリンク
- 6. HTMLリンクを強制的に強制する方法は?
- 7. gfortranとgccとの静的リンク
- 8. GCC静的リンクの順番が
- 9. Linux用run-anywhere静的リンクgccバイナリー
- 10. VS2015静的にランタイムライブラリをリンクしない
- 11. 静的にリンクstdlib.so
- 12. MinGWとの静的/動的/共有リンク
- 13. 静的および動的MFCリンク
- 14. ライブラリを静的にリンクさせるにはgccに直接連絡します
- 15. Android静的リンクとglibcとの動的リンク
- 16. ビルド時にlibを別のlibに動的にリンクしますが、静的にiphoneアプリにリンクします
- 17. 静的リンクSHFolderコンポーネント
- 18. CMakeと静的リンク
- 19. Mingw静的リンクlibstdC++
- 20. Boost :: Python静的リンク
- 21. 静的リンクとPremake
- 22. dllファイルに静的にリンク
- 23. 静的リンクと動的リンクの間にシンボルを隠す、動的ロードのためにdlsymに公開する
- 24. 電子メールリンク、URLリンクを静的テキストで自動的に作成
- 25. .SWFファイルの静的または動的リンク
- 26. Javascriptは動的か静的にHTMLにリンクされていますか?
- 27. 静的リンクと動的リンクに別々のライブラリが必要なのはなぜですか?
- 28. libstdC++ダイナミックライブラリでの静的リンク
- 29. GCCを使用して静的ライブラリをリンクする適切な方法
- 30. 同じライブラリを静的および動的にリンクする
どのような場合に、pthreadヘッダーを組み込む以外に何かする必要がありますか?ソースの例がありますか?この絶対的な必要性をコンパイルする方法はありますか? –