2011-01-21 4 views
8

私は最近、Linux上で共有ライブラリについて多くを読んで、ここで私が学んだことです:Linux上の共有ライブラリに関する良いプラクティスは何ですか?

  • 共有ライブラリは、そのメジャーバージョン番号を含むsonameを埋め込む必要があります。次のようなものがあります。libfoo.so.1
  • 実際のファイル名にはマイナーバージョン番号も含める必要があります。ような何か:ライブラリファイルがコピーされlibfoo.so.1.0
  • は、/usr/local/libを言うldconfigが実行された場合、それはsonameを読み、libfoo.so.1.0を指しlibfoo.so.1という名前のシンボリックリンクを作成します。
  • このライブラリを開発に使用したい場合は、実際にはを指すlibfoo.soのようなバージョン番号を持たないシンボリックリンクを作成する必要があります。これは、通常開発パッケージ(ライブラリがパッケージ化されている場合)によって行われます。

これは間違いありませんか?

+2

あなたは正しいが、とにかくhttp://www.nondot.org/sabre/Mirrored/libtool-2.1a/libtool_6.htmlを参照してください。 – ismail

+1

何をお読みになりましたか? – Navi

+0

@Navi:いくつかのリンク、マニュアルページ( 'ldconfig'、' gcc')と私は自分自身を経験しました。このリンクは役に立ちました:http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html – ereOn

答えて

18

候補]読書:ライブラリの設計、実装、および保守におけるhttp://www.akkadia.org/drepper/dsohowto.pdf

ウルリック・ドレパーのグッドプラクティス:

ウルリック・ドレパーの共有ライブラリを作成する方法を

dsohowtoは、より詳細なです。良い練習はすばやく読まれます。

+0

+1:良いリンク、ありがとうございます。 – ereOn

関連する問題