<< Back to shouce.jb51.net

12.3. 动态链接和静态链接

在编译Linux程序时,我们经常会看到动态链接和静态链接这两个术语。这两个术语中是我Linux的共享函数库(shared libraries)相关的。共享函数库就象Windows系统里的.dll文件,它里面包含有很多程序常用的函数。为了方便程序开发和减少程序的冗余,程序当中就不用包含每个常用函数的拷贝,只是在需要时调用系统中共享函数库中常函数功能即可。这种方式我们称之为动态链接(Dynamically Linked)。但有时为了程序调试方便或其它原因,我们不希望叫程序去调用共享函数库的函数,而是在函数代码直接链接入程序代码中,也就是说,在程序本身拥有一份共享函数库中函数的副本。这种方式我们称之为静态链接(Statically Linked)。