戻る

libz.a and libz.so.1.2.3

本件保留 動けば良いでしょう

# file /usr/lib/libz.a
/usr/lib/libz.a: current ar archive
# file /lib/libz.so*
/lib/libz.so:       symbolic link to `libz.so.1.2.3'
/lib/libz.so.1:     symbolic link to `libz.so.1.2.3'
/lib/libz.so.1.2.3: ELF 32-bit LSB shared object, \
Intel 80386, version 1 (SYSV), not stripped
http://ktarn.www.linux.or.jp/JF/JFdocs/Program-Library-HOWTO/index.html
http://www.linux.or.jp/JF/JFdocs/Program-Library-HOWTO/static-libraries.html
静的ライブラリは、通常のオブジェクトファイルの単なる集合体です。
慣習として、静的ライブラリは「.a」という拡張子を持ちます。この集合体は、
ar (archiver) プログラムを使用して作成されます。

全ての共有ライブラリは「soname」と呼ばれる特別な名前を持っています。
soname は、「lib」というプレフィックス、ライブラリの名前、
「.so」という語句で構成され、さらに後ろに、ピリオドと、
インターフェース変更時に必ず増加するバージョン番号、
が続きます (特別な例外として、最下層の C ライブラリは「lib」では始まりま
せん)。
完全記述の soname は、そのライブラリ自身が含まれる
ディレクトリをプレフィックスとして含んでいます。実際のシステムでは、
完全記述の soname は、共有ライブラリの「real name」への
単なるシンボリックリンクになっています。

libz.a

# nm /usr/lib/libz.a 

adler32.o:
00000000 T adler32
000003a0 T adler32_combine

compress.o:
000000a0 T compress
00000000 T compress2
00000140 T compressBound
         U deflate
         U deflateEnd
         U deflateInit_
...

libz.so.1.2.3

# nm /lib/libz.so.1.2.3 
00009ae7 t .L168
0000b836 t .L172
00009b6b t .L177
00009b9a t .L180
...

にゃんたろう 拝!

2008年11月10日 (月) 22:41:21 JST 作成


戻る

Copyright © 2006.-2008. nyantarou All Rights Reserved.