2016-09-13 2 views
1

私は/usr/lib/x86_64-linux-gnuを調べていましたが、geditなどの一部のアプリケーションには共有オブジェクトファイルが同梱されています。私はライブラリが共有ライブラリを持っている理由を理解していますが、スタンドアローンのアプリケーションが同じようにする利点は何ですか?一部のアプリケーションに共有ライブラリが付属しているのはなぜですか?

答えて

0

これらのアプリケーション用のプラグインを作成したい場合は、共有ライブラリで使用できる提供されたAPIを使用できます。

また、1つのソフトウェアパッケージでライブラリを使用する複数の実行可能ファイルがある場合、各バイナリに静的にリンクするのではなく、共有ライブラリを出荷することによって、バイナリのサイズを縮小できます。

1

geditの例を見ると、それは次の共有ライブラリが付属しています:

/usr/lib64/gedit/libgedit.so 
/usr/lib64/gedit/plugins/libdocinfo.so 
/usr/lib64/gedit/plugins/libfilebrowser.so 
/usr/lib64/gedit/plugins/libmodelines.so 
/usr/lib64/gedit/plugins/libsort.so 
/usr/lib64/gedit/plugins/libspell.so 
/usr/lib64/gedit/plugins/libtime.so 

最初の1、libgedit.soは、geditののエディタコンポーネントを再利用することができ、他のアプリケーションのためです。

残りはgedit用のプラグインです。それらはアプリケーションとともにビルドされ、配布されますが、独立したアドオンであり、geditもそれらなしで動作するはずです。サードパーティのプラグインもそこに存在する可能性があります。

関連する問題