内存作用:用来存放数据
int x=10; x=x+1; 这会生成一个可执行文件(装入模块)然后存入内存地址中
绝对装入:-如果知道程序放到内存中哪个位置,编译程序将产生绝对地址的目标代码
可重定位装入: 一开始的装入模块中的指令需要的逻辑地址,会被重新定位,比如地址+“100”;
动态重定位:装入模块的逻辑地址,(需要重定位寄存器)
从写程序到程序运行的步骤:
1. 程序员通过—》
2.编译器 编辑(.cpp .h)—》
3.目标模块.o(逻辑地址)—》
4.(链接)形成所对应的可执行程序.exe 又叫装入模块(完整的逻辑地址) —》
5.装入实际内存(物理地址) 装入分3种
运行
链接也分3种
1.静态链接 :在程序运行之前,现将目标模块.o及他们所需的库函数链接成一个完整的可执行文件.exe 不再拆开
2.装入时动态链接:将各目标模块.o 装入内存时,边装变链接
3.运行时动态链接:程序运行中需要该目标时才会对它链接,便于实现对目标的模块的共享