静态链接动态链接

静态链接是在链接期链接到自己的执行文件中,链接阶段重定位数据和函数,链接库得不到公用,如常用的printf.o

动态链接是在加载程序的时候进入链接重定位,将需要链接的放在got中,由于对动态链接库可能只需要用到其他一部分函数,所以没有必要链接所有的函数,就使用延迟链接,通过plt进行链接,修改got的值,以后使用时调到got的位置就行了,在运行的过程中,第一次使用函数的时候去进行重定位,具体过程参考《程序员的自我修养》第七章

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。