程序被装入内存后形成线程吗

如题所述

程序被装入内存后形成什么程序只有被转入内存才能运行,程序只有被转入内存才能运行,转入内存过程要经过编译和链接两个步骤:首先要进行编译,大多数编译系统提供编译驱动程序,它包括语言预处理器、编译器、汇编器和链接器。假如先有main.c和swap.c两个源文件,main.c中引用了swap.c的函数。驱动程序先调用cpp预处理器(cpp),它将C源程序main.c翻译成一个ASCII码的中间文件main.i接下来驱动程序运行C编译器(ccl),它将main.i翻译成一个ASCII汇编语言文件main.s然后驱动程序运行汇编器(as),它将main.s翻译成一个可重定位目标文件 main.o再次是链接,把各种代码和数据部分收集起来并组合成为一个单一文件的过程,这个文件可被加载到存储器执行。链接可以在以下三个阶段执行:可以执行于编译时,也就是源代码被翻译成机器代码时。(静态链接方式)可以执行于加载时,也就是在程序被加载器加载到存储器并执行时。(装入时动态链接)可以执行于运行时,由应用程序来执行(运行时动态链接)。由以上两个步骤,程序被装入内存后形成三种形式:(1) 可重定位目标文件 :包含二进制代码和数据,其形式可以在编译时与其他可重定位目标文件合并起来,创建一个可执行目标文件。(2)可执行目标文件 :可以包含二进制代码和数据,其形式可以被直接加载到存储器并执行。(3)共享目标文件 :一种特殊类型的可重定位目标文件,可以在加载或者运行时被动态地加载到存储器并链接。

5.9
百度文库VIP限时优惠现在开通,立享6亿+VIP内容
立即获取
程序被装入内存后形成什么
程序被装入内存后形成什么
程序只有被转入内存才能运行,程序只有被转入内存才能运行,转入内存过程要经过编译和链接两个步骤:
首先要进行编译,大多数编译系统提供编译驱动程序,它包括语言预处理器、编译器、汇编器和链接器。假如先有main.c和swap.c两个源文件,main.c中引用了swap.c的函数。
驱动程序先调用cpp预处理器(cpp),它将C源程序main.c翻译成一个ASCII码的中间文件main.i
接下来驱动程序运行C编译器(ccl),它将main.i翻译成一个ASCII汇编语言文件main.s
第 1 页
然后驱动程序运行汇编器(as),它将main.s翻译成一个可重定位目标文件 main.o
温馨提示:答案为网友推荐,仅供参考
相似回答