代码是如何实现的

被隐藏的过程
引言:
在学习编程之初,最简单的“hello world”,写起来也没啥感觉,就像一个机器人一样把老师写的照抄下来,运行一下,感觉还不赖。运行背后的原理却被我们所忽略掉了,在了解代码运行的原理之后,感叹前辈们的不容易和伟大。发明出高级语言这种神级操作。了解一下这隐藏的过程吧。

一串代码的运行需要经过4个步骤分别是:1.预编译,2.编译,3.汇编,4.链接

  1. 预编译
    主要处理规则如下:
    1.将所有的“#define" 删除,并且展开所有的宏定义。处理所有条件预编译指令,比如“#if”、 “ #ifdef"、“#elif"、 “#else",“#endif".

    2.处理“#include"预编译指令,将被包含的文件插入到该预编译指令的位置。注意,这个过程是递归进行的,也就是说被包含的文件可能还包含其他文件。

3.删除所有的注释“//"” 和“/* */”。

  4.添加行号和文件名标识,比如#2“hello.c" 2,以便于编译时编译器产生调试用的行号信息及用于编译时产生编译错误或警告时能够显示行号。保留所有的#pragma编译器指令,因为编译器须要使用它们。

  5.经过预编译后的i文件不包含任何宏定义,因为所有的宏已经被展开。
  1. 编译
    编译过程就是把预处理完的文件进行一.系列词法分析、语法分析、语义分析及优化后生产相应的汇编代码文件,这个过程往往是我们所说的整个程序构建的核心部分,也是最复杂的部分之一。
  2. 汇编
    汇编器是将汇编代码转变成机器可以执行的指令,每-一个汇编语句几乎都对应一条机器指令。
  3. 链接
    这一步相当于,将汽车的发动机造好了,把轮胎找到链接到发动机上,才能跑。
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值