欢迎来到天天文库
浏览记录
ID:8975020
大小:71.00 KB
页数:9页
时间:2018-04-13
《gnu与gcc含义的解释》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、GNU是Gnu'sNotUnix的缩写,那么Gnu'sNotUnix里面的Gnu是什么意思,Gnu'sNotUnix里的Gnu同GNU。这个是递归。GNU就是GNU'sNotUnix的缩写,GNU的创始人Stallman认为UNIX虽然不是最好的操作系统,但是至少不会太差,而他自信有能力把UNIX不足的地方加以改进,使它成为一个优良的操作系统,就是名为GNU的一个同UNIX兼容的操作系统,并且开发这个系统的目的就是为了让所有计算机用户都可以自由地获得这个系统。任何人都可以免费地获得这个系统的源代码,并且可以相互自由拷贝。因而在使用GNU软件的时候我们可以理直气壮地说我们使用
2、的是正版软件。当然GNU也是有自己的版权声明(即GPL,见附录A)的,就是它有名的Copyleft(相对于版权的英文Copyright),就是用户获得GNU软件后可以自由使用和修改,但是用户在散布GNU软件时,必须让下一个用户有获得源代码的权利并且必须告知他这一点。这一条看似古怪的规定是为了防止有些别有用心的人或公司将GNU软件稍加修改就去申请版权,说成是自己的产品。其目的就是要让GNU永远是免费和公开的。GNU是谁发起的?GNU是由自由软件基金会(FreeSoftwareFoundation,FSF)的董事长RichardM.Stallman(RMS)于1984年发起的,
3、如今已经有十几年的历史了。Stallman本来是在美国麻省理工学院的人工智能实验室从事研究工作的研究员,同时也是世界上可数的几个顶尖程序员之一,他的最著名的作品也是GNU的第一个软件就是GNUEmacs,UNIX平台上的一个编辑器。这个软件推出后受到广大UNIX用户的热烈欢迎,由于它同时提供源代码,大家都热心地替它排除错误,增加功能,它的功能越来越强大,终于成为UNIX平台上最好的编辑器,上至CRAY超级计算机,下至最普遍的PC机,从DOS到Windows,从VMS到UNIX都可以使用这个Emacs。受到这个软件成功的鼓励,Stallman成立了自由软件基金会,以推广GNU
4、计划。基金会成立之后,主要靠一些厂家的捐献和出售GNU程序的使用手册,以及拷贝GNU软件的电脑磁带和光盘来维持,不过许多硬件厂家开始基金会提供高性能的工作站,这其中包括HP和SONY,AT&T这样的国际性大公司。GNU目前已经推出的软件主要由Emacs──功能强大的编辑环境,GCC──性能优异的多平台的C,C++,Fortran编译器和其他40多种软件。其中GCC的成功为GNU带来了前所未有的影响。GCC是一种可以在11种硬件平台上编译出可执行程序的超级编译器,而且其执行效率更是惊人,与一般的编译器相比平均效率要高20%-30%。这使得很多商业公司也采用GCC来开发软件,其
5、中包括像HP公司这样的专业大公司。而现在回到苹果公司的前NeXT公司总裁斯蒂夫·乔布斯也对Stallman尊敬有加,因为NeXT公司的软件都是用GCC开发的,在PC游戏中最好的3D射击游戏quake(由IDSoftware公司开发)也是用GCC的DOS移植版本djgpp编写的。GCC是C,C++,ObjectiveC(由NeXT公司贡献)三者合一的编译器,它的编译原理同大多数编译器不一样,它先有一个前端处理程序将C,C++,OvjectiveC的语句转换成为一个类似于Lisp的内部语言--RTL,再由一个后端处理程序将其优化后产生目的CPU可以执行的机器代码,因而对于每种新
6、语言来说,只要写好一个新的前端处理程序就可以立刻将此语言移植到GCC已经支持的不同硬件平台上去,而且编译出来的就已经是经过优化的二进制代码。除了C系列以外,GCC还有Fortran77,ada9x,Pascal的前端处理程序。GCC的多平台的实现方法同JAVA的虚拟机技术不太一样,因而其运行速度远非JAVA能望其项背。GNU开始的策略就是先开发UNIX已经有的程序(因为计划中GNU将会是一个与UNIX兼容的操作系统,而UNIX下的标准使用界面已经非常完善了,所以先依照这个标准开发应用程序,将来GNU自己的系统核心一出来,就立即可以使用所有先前开发的GNU应用程序),因此会先
7、有emacs,GCC等工具软件开发出来。其中GCC更是GNU计划自立更生的一个重要步骤(不需要依靠商业软件来产生/编译整个GNU系统),如今这套程序开发工具已经很成熟了。下一步要做的就是开发GNU的核心--Hurd了,只要Hurd一开发出来,GNU就是一套能够自我开机,真正自给自足,完整的自由操作系统。Hurd是基于Mach这个微内核(microkernel)上的操作系统核心。以后会使用尤他大学的Mach4(一个更为方便和快速的微内核),由于Hurd基于Mach,所以只要Mach移植到什么机器上,Hurd也立刻就是
此文档下载收益归作者所有