程序生命周期

来源:互联网 发布:淘宝店铺名称可以修改 编辑:程序博客网 时间:2024/06/16 01:56

程序生命周期主要包括5个部分:

  1. 编写源代码
  2. 编译
  3. 链接
  4. 转载
  5. 执行

编译阶段

从广义上讲,编译就是将某种编程语言(高级语言:C/C++)的源代码转为另一种编程语言(低级语言:汇编。机器代码)的源代码。其中交叉编译指在同一平台上进行编译,生成的代码可以在其他平台上执行,例如在桌面操作系统上生成嵌入式设备或移动设备的代码。编译的过程分为5个阶段:

  1. 预处理阶段
  2. 语言分析阶段
  3. 汇编阶段
  4. 优化阶段
  5. 代码生成阶段

其中预处理阶段实现:

  1. 将#include包含的文件或者头文件包含到源代码文件中
  2. 将#define指定的值转化为常量
  3. 将调用宏的位置转为代码
  4. 根据#if,#elif和#endif指令的位置包含或者排除特定部分的代码

其中语言分析阶段功能:

  1. 删除注释和不必要的空格等操作
  2. 检查程序的语法规则(词法分析,语法分析,语义分析)
    其中汇编阶段是将标准集合转为特定CPU指令集的语言集合;
    其中优化阶段将程序的寄存器使用率最小化,删除冗余代码;
    其中代码生成阶段:每个目标文件对应一个编译单元,汇编指令会在此阶段转为对应机器指令的二进制值,并写入目标文件的特定位置。

链接阶段

链接的输入就是目标文件的集合,由编译阶段预先生成,主要包含重定位和解析应用。

原创粉丝点击