静态链接(static linking),理学-计算机科学技术-计算机软件-系统软件-编译系统,静态链接(Static Linking)在链接时将库或目标文件的内容直接加入可执行程序的一种链接方法。链接器是一个独立的程序,通常被编译器驱动程序调用,用于将一个或多个目标文件或库链接到一起生成可执行程序。采用静态链接方式时,链接器将目标文件或库的内容直接加入到可执行程序中,存放在指定的代码段或数据段中。采用静态链接方式生成的可执行程序被操作系统装载执行时,所有需要的数据和代码均已包含在该程序映像中,可以独立执行,不依赖于外部的其他软件模块。静态链接的过程大致包括两部分:空间和地址分配、符号解析和重定位。在空间和地址分配过程中,链接器会扫描所有输入的目标文件,获得各个段的长度和属性,并将它们合并在一起,同时计算出合并后各个段的长度和位置信息,各个目标文件中的符号表所定义的符号和符号引用也被收集起来,用于构造一个全局的符号表。符号解析和重定位过程中,链接器需要为每个符号引用找到输入目标文件中对应的符号定义,并按照新构造的符号表修订该符号的访问地址。