静态链接的主要过程包括:地址和空间分配,符号决议和重定位等。
不同的模块被编译称为不同的目标文件,在不同的目标文件会存在两种通信:模块间的函数调用、模块间的变量访问。
函数访问需要知道目标函数的地址,变量访问也需要知道目标变量的地址,而这些地址在编译的时候是无法获知的,编译器就将这些地址暂时忽略,交给链接器在链接时进行确定,链接器决定这些地址的过程称为重定位,每一个需要重定位的位置称为重定位入口。
静态链接的主要过程包括:地址和空间分配,符号决议和重定位等。
不同的模块被编译称为不同的目标文件,在不同的目标文件会存在两种通信:模块间的函数调用、模块间的变量访问。
函数访问需要知道目标函数的地址,变量访问也需要知道目标变量的地址,而这些地址在编译的时候是无法获知的,编译器就将这些地址暂时忽略,交给链接器在链接时进行确定,链接器决定这些地址的过程称为重定位,每一个需要重定位的位置称为重定位入口。