AIX: 程序是动态/静态链接方式的判断

 

在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
$

果然有效,记录一下,备忘.

请使用浏览器的分享功能分享到微信等