共享库

共享库

共享库在内存中维护一个所有进程引用的库例程(routine)的拷贝代替可执行程序上通用库的例程(routine)。这减少了可执行程序的大小,但也曾加了程序首次运行或共享库第一次被调用时的开销。共享库的另一个优点是当共享库有新版本时不用对程序重新连接(这假定参数的数目和类型没有改变)。

不同的系统提供不同的共享库使用方法。典型以选项方式出现在cc和ld命令中。

不使用共享库:

    $ cc -static hello1.c             prevent gcc from using shared libraries
    $ ls -l a.out
    -rwxrwxr-x 1 sar         475570 Feb 18 23:17 a.out
    $ size a.out
       text     data     bss     dec     hex    filename
     375657     3780    3220  382657   5d6c1    a.out

GCC默认使用共享库。

发表评论