免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: Coldiceangel
打印 上一主题 下一主题

谁编译的gcc? [复制链接]

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
11 [报告]
发表于 2010-05-16 19:24 |只看该作者
计算机演化史。

最早可追溯至算盘时代,中国的清明上河图中有一把算盘,可算作计算的鼻祖,珠算口诀应该可算作最早的计算规则。。。。

再往后出现了机械计算器、电子管计算器、晶体管计算器、然后迈入集成计算时代,计算机程序也从最开始的 0 、1 的代码(以打孔的方式实现),进入到汇编时代,这个时候,已经可以用一些简单的助记符号来表示0 和 1 的机器代码了,再后来就出现了高级语言,后来在 AT&T公司的贝尔实验室,诞生了现代意义上的第一套多用户操作系统。

再以后,为了移植的需要,两位大牛,用汇编重写了一个语言(前身是 B 语言)C,令人惊奇的是,C语言表现出了非常好的可移植性,由于 C 语言首先是将编写的代码翻译成汇编码,然后调用相应的汇编程序再编译成机器码,其效率在大多数情况下与汇编语言编写的代码不相上下,因而C语言得到了广泛的发展。

gcc 是 C 语言的一个变种。。。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
12 [报告]
发表于 2010-05-16 19:26 |只看该作者
说了这些,C 语言是咋来的,最早的 C 语言是如何‘形成的,俺想应该是说清楚了。

论坛徽章:
0
13 [报告]
发表于 2010-05-16 23:01 |只看该作者
听楼上大使说,原来是这样的:

硬件进化:

"算盘" -> "机械计算器" -> "电子管计算器" -> "晶体管计算器" -> "集成电路计算器" -> "现在的计算机"

程序进化:

"0和1开始" -> "以打孔的方式表示0和1" -> "助记符号表示0和1" -> "程序语言诞生(汇编语言)" -> "把人们编程语言翻译成汇编语言" -> "C语言诞生(gcc)" -> .... 之后程序语言也分支了,很多程序语言了 ...

从这样看 gcc 也是从汇编语言过来的,应该是汇编语言做出了第一个 c 语言编译器及相关库文件,之后就是 c 编译器自己编译自己了,进行自我完善了,最终发展成现在的 gcc 吧。

{:3_186:}

论坛徽章:
2
午马
日期:2015-01-27 11:22:392015年辞旧岁徽章
日期:2015-03-03 16:54:15
14 [报告]
发表于 2010-05-19 22:38 |只看该作者
交叉编译, 可以读一些编译原理相关的书。

不过现在的情况下,当然可以到网上拿一个现成的编译环境来编译一个自己的环境。

论坛徽章:
0
15 [报告]
发表于 2010-05-20 09:00 |只看该作者
最早的程序是打孔纸带,就是直接用机器语言编程,后来就有了汇编语言,汇编器其实就是一段用打孔纸带写出来的程序,它可以编译(其实就是把一些简单的字母指令转换成机器指令,比如MOV)汇编语言写成的程序。然后就有了用汇编语言写的C语言的编译器。

其实这个问题不是说先有鸡还是先有蛋,而是说用简单工具来制造复杂工具,当第一版本的GCC出来了以后,就可以bootstrap了。(这个词的含义是拉住鞋带,把自己从地面提起来,

其实其他领域也是一样,现在随便加工一把斧子,就要涉及炼钢,锻压,切削,研磨,。。。。那当年这些设备从哪里来的?车钳刨铣磨,都是在有了斧子之后才发明的。(by the way, 最早的车床是木制的)

论坛徽章:
0
16 [报告]
发表于 2010-05-20 09:40 |只看该作者
先有鸡还是先有蛋

论坛徽章:
0
17 [报告]
发表于 2010-05-20 12:53 |只看该作者
C语言不就是B语言延伸的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP