1. 程式人生 > >AIX: 程式是動態/靜態連結方式的判斷

AIX: 程式是動態/靜態連結方式的判斷

http://blog.itpub.net/75231/viewspace-589289/

在AIX想了解一下一些檔案的庫連結方式,
動態(dynamic linked)還是靜態
(static linked), 使用file命令後,
輸出如下:

$ file /usr/bin/ksh
/usr/bin/ksh: executable (RISC System/6000) or object module

沒有發現太多的資訊,在網上問了一下,有人給出使用ldd進行判斷的方法.

做了個小測試.

$ cat abc.c
#include

int main(int argc, char **argv)
  {
     printf("\nHello world!\n");

     exit(0);
  }

a. 動態連結的方式
$ gcc abc.c -o abc
$ ./abc
Hello world!
$ ldd abc
abc needs:
         /usr/lib/libc.a(shr.o)
         /unix
         /usr/lib/libcrypt.a(shr.o)

b. 靜態連結的方式
$ gcc -static abc.c -o abc
$ ./abc
Hello world!
$ ldd abc
abc needs:
         /unix
$

果然有效,記錄一下,備忘.