【ᐖ】编译器和解释器

一直很好奇为什么运行C语言需要“编译器”编译才能运行,而Python却需要“解释器”

事实上这两者主要的区别在于:你的代码是由谁执行

例如C语言:C语言的运行是将你的C语言代码通过编译器翻译为一个由机器语言写的可执行代码

而Python则是由解释器逐行读取代码,将Python编译为字节码,然后由大型C程序解释。

其中编译器生成了一个中间产物:可执行文件obj之类的,Python没有

说一说编译的过程:

预处理:1.就是宏替换,把宏定义的值带进去

               2.去注释

               3.把库函数的头文件引入

编译:    把代码转为汇编代码文件,这个时候可以排查错误,可能会报错

汇编  :  再把这个汇编代码转为二进制指令文件 

链接  :  把已经找到的函数和声明的库函数头文件链接,找到它的地址。

               1 .静态连接是直接把库搬进可执行文件里

               2.动态链接就是把你用到的函数记下来到一个叫动态库到库里,每次执行的时候去这个库里找

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值