静态链接就是在程序执行前,把要链接的内容链接 到可执行的文件中,生成一个目标文件
动态链接则是没有将内容拷贝到可执行文件中,而是先加入地址或者引用指针,在执行的过程中再去找要链接的内容。
动态链接有两种方式:
装在时动态链接
在编译前确认链接信息,编译时只保留重要的链接信息,执行时在内存中将其链接如调用程序的执行空间中。目的是便于代码共享
运行时动态链接
在编译前不知道链接信息,在执行时才会加载到内存中,并标识内存地址。目的是只存一份
这个和JS中模块引入一样,如果当前的模块写在当前文件中则是静态链接,而用import引入,则是动态链接。