如何让gcc在生成动态链接库的时候静态链接glibc

  • 发布时间:2017-07-01 10:01:10
  • 作者:伏草惟存
  • 标签:linux,gcc,c

我的代码:

//reload.c
int func(int num){
    return num++;
}


编译链接命令为:

gcc -fPIC -shared reload.c -o reload.so


使用ldd命令查看依赖的库时:

linux-vdso.so.1 =>  (0x00007ffe6aa93000)
libc.so.6 => /usr/lib64/libc.so.6 (0x00007f27feb97000)
/lib64/ld-linux-x86-64.so.2 (0x00007f27ff169000)

这个动态库依赖glibc的动态库。

如果让他静态链接呢?


$ gcc -fPIC -shared reload.c -o reload.so -nostdlib
$ ldd reload.so
statically linked


这样,就可以达到效果。