Windowsでは、EXEとDLLの両方に、少なくとも次のフィールドを含むバージョン情報があります。
- ファイルバージョン
- 製品バージョン
- 内部名
- 商品名
- 著作権
Linuxライブラリ/実行ファイル:
- どの分野がありますか?
- この情報をどのように見ることができますか?
- どのツール/ライブラリを読む必要がありますか?
ベストアンサー1
バージョン情報は明示的に保存されません。ELFファイル。これには、soname
メジャーバージョンを含むライブラリ名が含まれます。フルバージョンは通常、ライブラリファイル名の一部として保存されます。
たとえば、ライブラリがある場合、通常は次のようになりますlibtest.so
。
libtest.so.1.0.1
- フルバージョンを含むライブラリファイル自体libtest.so.1
libtest.so.1.0.1
- と同じ名前のシンボリックリンクsoname
libtest.so
-libtest.so.1
接続のためのシンボリックリンク。
ライブラリファイルのlibtest.so.1.0.1
動的セクションには、という項目がありますSONAME
。これはライブラリ名がということを意味しますlibtest.so.1
。プログラムをライブラリにリンクすると、リンクされたプログラムは動的soname
セクションのエントリの下にライブラリ情報を保存します。NEEDED
どのELFファイルが実際に何であるかを確認するには、次の手順を実行します。
readelf -a -W elffile
elffile
実行可能ファイルのライブラリにすることができます。
ライブラリのバージョンを取得するには、次のものを使用できます。
readelf -d /path/to/library.so |grep SONAME
AFAIK、実行ファイルにはそのような情報はありません(少なくともデフォルトではありません)。
あるいは、Rahul Patilが書いたように、プログラム自体やパッケージングシステムに頼ることもできます。