16.スタティック/ダイナミック・リンクコマンドがどのライブラリーと紐つけられているかを調べる方法lddコマンドを使います $ldd /usr/bin/make libc.so.6 => /lib/libc.so.6 (0x4001a000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) このようにライブラリー名が出るものはダイナミック・リンクされたコマンドです。 fileコマンドではどちらかということまで表示されます。 $file /usr/bin/make make: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), not stripped $ldd /usr/bin/make not a dynamic executable このように表示されるものはスタティックなコマンドです。 fileコマンドでは $file /usr/bin/make make: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, not stripped コマンドのサイズも10倍くらい違うのである程度予測がつきます。 ダイナミック・リンク make・・・144887バイト スタティック・リンク make・・・1097156バイト |