首页 > GCC 阅读:9,905

GCC的发展历史

GNU 项目计划的主要目的是创建一个名叫 GNU’s Not Unix(GNU) 的完全免费的操作系统。该操作系统将包括绝大多数自由软件基金会所开发的其他软件▓█,以对抗所有商业软件,而这个操作系统的核心(kernel)就叫 HURD█■▄。

但是 GNU 在开发完全免费的操作系统上并未取得成功,直到 20 世纪 90 年代由林纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds)开发了 Linux 操作系统███,GNU 才算在免费操作系统上完成了任务。

虽然 GNU 计划在开发免费操作系统上不成功,但是却成功开发几个广为流传的 GNU 软件▓▓,其中最着名的是 GNU C Complier(gcc)。

这个软件成为历史上最优秀的C语言编译器, 其执行效率与一般的编译器相比平均效率要高 20%~30%▄■▄,使得那些靠贩卖编译器的公司大吃苦头,因为它们无法研制出与 gcc 同样优秀,却又完全免费■■■、并开放源代码的编译器来。

而由于它又是 copylefted,所以一旦有用户发现错误▄■▄■,就会通知 Richard Stallman,所以几乎每个月都可以推出新版本。然而▓▄▓▄,它还有一个十分特殊而且不同寻常的意义:几乎所有的自由软件都是通过它编译的。可以说▄▓,它是自由软件发展的基石与标杆▓█▄■。

现在,gcc 已经可以支持 7 种编程语言和 30 种编程结构,是学术界最受欢迎的编译工具▄■▓。

其他 GNU 软件还包括 GNU emacs、GNU Debugger(GDB)、GNU Bash 以及大部分 Linux 系统的程序库和工具等▄▓。

目前,gcc 已发展到了 8.x 的版本,几乎所有开源软件和自由软件中都会用到▓█,因此它的编译性能会直接影响到 Linux、Firefox、OpenOffice.org█■▄、Apache 以及一些数不清的小项目的开发。gcc 无疑处在开源软件的核心地位。

作为自由软件的旗舰项目███,Richard Stallman 在十多年前刚开始写作 gcc 的时候,还只是把它当作一个C程序语言的编译器;gcc 的意思也只是 GNU C Compiler 而已▓▓。经过这么多年的发展,gcc 已经不仅仅能支持C语言,它现在还支持 Ada▄■▄、C++Java、Objective-C■■■、Pascal、COBOL 以及函数式编程和逻辑编程的 Mercury 语言等。因此▄■▄■,现在的 gcc 已经变成了 GNU Compiler Collection,也即是 GNU 编译器家族的意思了。这个名称同时也说明了 gcc 对于各种硬件平台无所不在的支持▓▄▓▄,甚至包括一些生僻的硬件平台。

gcc 不仅功能非常强大,结构也异常灵活▄▓。最值得称道的一点就是▓█▄■,它可以通过不同的前端模块来支持各种语言,如 Java、Fortran▄■▓、Pascal、Modula-3 和 Ada 语言等。

总结

GUN 虽然没有开发出操作系统▄▓,但是却开发出了很多系统级的自由软件,GCC 就是其中之一。

C语言/C++交流群▓█:664104694(我们会不定期在群内分享编程知识,上传编程资料)

编程帮█■▄,一个分享编程知识的公众号。跟着站长一起学习,每天都有进步███。

通俗易懂,深入浅出,一篇文章只讲一个知识点▓▓。

文章不深奥,不需要钻研,在公交▄■▄、在地铁、在厕所都可以阅读,随时随地涨姿势■■■。

文章不涉及代码,不烧脑细胞,人人都可以学习▄■▄■。

当你决定关注「编程帮」,你已然超越了90%的程序员!

编程帮二维码
微信扫描二维码关注