7

私のプログラムは、ローダーと共有ライブラリである多くのモジュールとして構築されています。現在、これらのライブラリの 1 つは pthreads を使用しており、モジュールに動的にバインドされているようです (起動時にロードされます)。pthreads を強制的にモジュール ファイルにリンクできれば、より簡単になります。Linux で GCC を使用するにはどうすればよいですか? libpthread.a が必要だと思います....

4

1 に答える 1

19

libpthread.a共有ライブラリへのリンクは理論的には可能ですが、それは本当に悪い考えです。その理由は、libpthreadの一部でありglibc、のすべての部分が正確に一致するglibc 必要があるためです。一致しないと、奇妙で​​説明のつかないクラッシュが発生します。

libpthread.aしたがって、共有ライブラリにリンクすると、次のようになります。

  1. 別のバージョンのマシンに移動すると、プログラムがクラッシュしますglibc
  2. 現在のマシンがアップグレードされたときに既存のプログラムがクラッシュする原因になりますglibcが、モジュールは更新されたに対して再リンクされませんlibpthread.a

悪化を惜しまないでください、そしてそれをしないでください。

于 2012-04-30T21:35:56.343 に答える