栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C的起源与编译器

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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语言的编译,层层嵌套,最终都能翻译成机器语言。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/691313.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号