为了让机器能够识别并运行程序,每条语句必须被转为低级机器语言指令,然后将指令按照可执行目标程序的格式打包,并以二进制磁盘文件的形式存放起来。以c程序为例,转换过程大致分为预处理,编译,汇编,链接四个步骤。

详细步骤:

1、预处理器根据以字符#开头的命令修改原始的c程序,结果得到另一个c程序,通常以.i作为文件扩展名。

2、编译器将文本文件hello.i翻译成hello.s,它包含了一个汇编语言程序。

3、汇编器将汇编程序翻译为机器语言指令,把这些指令打包成可重定位目标程序(relocateble object program)的格式,并把结果保存在hello.o中。

3、链接阶段,链接器(ld)程序负责处理这种合并,结果得到hello文件,它是可执行目标文件,可以被加载到内存中由系统执行。

4、执行程序。一旦目标文件hello中的代码和数据被加载到主存,处理器开始执行main的机器语言指令,将字符串从主存拷贝到寄存器,并输出到屏幕上。

推荐教程:c++教程

更多相关文章

  1. c语言源程序的最小单位是什么
  2. c语言万年历程序代码
  3. c程序怎么编写x的y次方
  4. c语言程序是从源文件第一条语句开始执行的,这句话是错的吗
  5. c语言程序的调试方法
  6. c语言源程序文件的后缀是什么?
  7. c语言程序总是从第一个定义的函数开始执行吗?
  8. c语言规定在一个源程序中main函数的位置是哪里?
  9. c语言源程序经过编译后,生成文件的后缀是什么?

随机推荐

  1. Android(安卓)上层应用读写设备节点
  2. Android(安卓)Studio导入SlidingMenu类库
  3. linux公社大量免费的在线android资料
  4. 处女男学Android(十五)---Android 广播机制
  5. 总结系列-硬件加速
  6. Android音频开发(1):基础知识
  7. fir.im Weekly - 如何进行 Android(安卓)
  8. Android撬动IT市场的新支点
  9. Day1.1-Android简介之发展史、操作系统、
  10. URI是什么,在Android中有什么作用?