libtest.so という名前の共有ライブラリがあり、その中に「foo」という関数が 1 つあるとします。
ストリップを使用して libtest.so からすべてのシンボルを破棄します
$strip libtest.so
だから、今私たちが使用する場合:
$nm libtest.so
印刷されます:
nm: libtest.so: シンボルなし
しかし、使用する場合:
$readelf -s libtest.so
foo 関数は、その結果からまだ見ることができます:
...
10: 000005dc 5 FUNC グローバルデフォルト 12 _Z3foov
...
コマンド文字列を使用して確認することもできます。
$strings libtest.so
...
_Z3foov
...
ここに私の質問があります.なぜ nm は縞模様の libtest.so に対して結果を出さないのですか?
ありがとう