C的起源与编译器

1972年,贝尔实验室的丹尼斯·里奇(Dennis Ritch)和肯·汤普逊(Ken Thompson)在开发UNIX操作系统时设计了C语言。然而,C语言不完全是里 奇突发奇想而来,他是在B语言(汤普逊发明)的基础上进行设计。至于 B 语言的起源,那是另一个故事。C 语言设计的初衷是将其作为程序员使用的 一种编程工具,因此,其主要目标是成为有用的语言。

B语言是一种无数据类型语言,所有的数据都和机器字相对应,并且程序员可以直接通过内存地址操作内存。B语言最初在美国DEC公司的PDP-7和PDP-11小型机的早期Unix版本和Honeywell机器的GCOS系统上实现。

C语言是用什么编写的?
众所周知,C语言想要被执行,首先必须进行编译,将C语言编译成可由计算机执行的二进制机器语言。完成此过程,我们必须借助编译器,也就是专门编译C语言的编译器,那么C语言的编译器又是由什么语言写的?还是由C语言?那么C语言编译器又需要谁来编译呢?从此陷入了俄罗斯套娃的情节。
首先我们必须明确,任何语言想要被机器执行,必须先翻译成机器语言。但汇编语言过于复杂,我们引入了汇编语言,作为机器语言的注记符,但汇编语言并不是机器语言,我们必须有一个汇编语言的编译器,来编译汇编语言,那么这个汇编语言的编译器就必须是由机器语言所写的,用来翻译所有汇编语言。那么在上层,我们就可以开发更高级的语言,如Pascal语言,而这个语言的编译器是由汇编语言所写的。那么我们就可以以此为基础,设计更高级的语言,如C语言,其一些基本内容的编译器可以由Pascal来写形成C0,那么之后我们可以使用C0来编写更高级C1语言的编译器,实现C1语言的编译,层层嵌套,最终都能翻译成机器语言。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

举世无双勇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值