nm -D /lib32/libc.so.6 | grep '\<fopen\>'
0005d0c0 T fopen
00109750 T fopen
readelf -s /lib32/libc.so.6 | egrep '0005d0c0|00109750'
181: 0005d0c0 50 FUNC GLOBAL DEFAULT 12 [email protected]@GLIBC_2.1
182: 00109750 136 FUNC GLOBAL DEFAULT 12 [email protected]_2.0
679: 0005d0c0 50 FUNC GLOBAL DEFAULT 12 [email protected]@GLIBC_2.1
680: 00109750 136 FUNC GLOBAL DEFAULT 12 [email protected]_2.0
は私の質問です:なぜ/lib32/libc.so.6に2つの "fopen"シンボルがあるのですか?ここ
/lib32/libc.so.6はそれに2つのfopenのシンボルを持っている理由は?同じターゲットファイル内の同じシンボルは禁止する必要があります。
なぜfopenの代わりにreadelf -sがfopen @@ GLIBC_2.1と[email protected]_2.0をダンプするのですか?
おかげで同じシンボルの
ありがとうgby、これについての例を挙げてください。ありがとう:) – camino
共有ライブラリに関する何かの惑星上の最も良いリソースは、Ulrich Drepperの「共有ライブラリを書く方法」です:http://people.redhat.com/ drepper/dsohowto.pdf – gby
ありがとう! :) – camino