内存管理学习之程序装入技术
程序执行的过程经历几个阶段:编译---链接---装入内存模块---执行阶段。
源程序经过编译后成为目标文件模块,在经过链接库文件等后变成可执行文件。链接的方式有两种:静态链接和动态链接。
静态链接指在执行前将所有的目标模块都链接到可执行文件中等待装入执行。
动态链接分为装入时动态链接和执行时动态链接。动态链接允许程序不必形成完整的可执行文件,而是生成一个未完成链接的外部模块,等待装入。
装入时动态链接指在装入时遇到外部模块连接查找相应的目标模块装入内存,这种方法仍然要将所有的链接模块都装入内存,知识将链接推迟到了装入时。
执行时动态链接指在执行时遇到链接部分查找相应的模块装入内存,木有用处的模块将不会装入内存。
---------------------------------------------------------------------------------------------------------------------------------------------
程序装入分为静态装入和动态装入,静态装入是装入时采用静态重定位方法加载,装入后不能在改变位置。动态装入采用动态重定位在执行的过程中进行装入内存。
静态链接可以使用静态装入和动态装入。
装入时动态链接使用静态装入,执行时动态链接使用动态装入。
浙公网安备 33010602011771号