静态链接是由
链接器在链接时将库的内容加入到可执行程序中的做法。链接器是一个独立程序,将一个或多个库或目标文件(先前由
编译器或
汇编器生成)链接到一块生成可执行程序。
静态链接的最大缺点是生成的
可执行文件太大,需要更多的系统资源,在装入内存时也会消耗更多的时间。
像Unix ld程序这样的静态链接器(static linker)以一组可
重定位的目标文件作为输入,生成一个完全连接的可以加载和运行的可执行目标文件作为输出。输入的可重定位目标文件由各种不同的代码和数据节(section)组成。
指令在一个节中,初始化的
全局变量在一个节中;而未初始化的变量在另外一个节中。