共享库
共享库在内存中维护一个所有进程引用的库例程(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默认使用共享库。