笔者来聊聊分散加载的东西。
1、什么是分散加载
程序是静态的概念,有数据有代码,都是存在不同的区域,但是进程是动态的概念,主进程在运行的时候,会实际修改对应的数据,还有在上电加载的时候将数据段搬到对应的位置,都是属于运行态,由程序执行来保证。
分散加载会把Code与Data放在指定的区域,保证程序在进入main函数后正常运行,如果有多个Code或者Data的时候,会分别加载到对应的区域,不会直接按照起始地址连着一起加载。

比如上图,在可执行的视图里面,分散加载会找到对于的Code、Data地址,然后加载,对于一些其他段,比如bss段会进行初始化为0的操作。
如果全部