共享库是动态链接的还是静态链接的?

共享库是动态链接的还是静态链接的?

我有一个简单的静态库,由两个目标文件准备

ld -shared -o libfoobar.so foo.o bar.o

当我使用该实用程序检查库文件的类型时file,它报告该库是动态链接的:

file libfoobar.so 
# libfoobar.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, with debug_info, not stripped

当我使用询问相同的(?)问题时ldd,它报告该库是静态链接的:

ldd libfoobar.so 
#    statically linked

我应该如何协调这两个输出?


uname -a
# Linux leo 4.15.0-124-generic #127-Ubuntu SMP Fri Nov 6 10:54:43 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

相关内容