GCC是用什么语言编写的?
早期是C语言,后来改为C++,源代码:https://github.com/gcc-mirror/gcc.
GCC编译器从C语言转向C++也经历过不顺,皓哥 GCC 用 C++ 来编译 | 酷 壳 - CoolShell 就有提到2012年GCC就转向用C++编译器编译,之后逐渐修改源代码为C++.
不过C vs C++性能和复杂度的讨论从未因为一位大牛说"C++是垃圾"而停止,之前和之后都在不断讨论,GCC社区同样遇到转向C++的困扰。不过总结起来,担心C++的性能、一些特性的复杂度和维护难度是讨论重心。当然,也被提到,GCC自由软件基金会FSF原本就不写C++也被当做是早期未能转向C++的理由。了解更多转向C++的历史
X语言编译器可以用X语言编写吗?
编译器/解释器用什么语言编写?
编程语言出现之前,编译器或解释器用什么语言编写?
学习各种编程语言的同学们,一定会遇到类似的问题。一个简单通俗的回答是,当前已有什么才能用什么,没有什么就不能用什么,写好了某种语言的编译器后,才能用对应语言写它的编译器。
- C语言编译器最早使用B语言编写,因为没有其他编译C语言的编译器,只能选用已有的编程语言。
- GCC编译器编写时,已经有不少C语言编译器了。GCC早期是用C语言写的,是由Stallman从一个由Pascal语言编写的Pastel编译器改写。后期,GCC选择用C++编译器编译,再到之后,GCC换用C++语言编写。
为什么出现某种语言编译器或解释器是用相同语言编写的?
听起来这违反常理,事实上,任何一种语言只有它的第一个编译器/解释器不能用自身去编写,之后,均可用任何语言编写实现。不过,对于是否是本机native可执行文件,不同编程语言定位不同,可选择的语言会受限。
GCC和G++有什么区别?
gcc命令不止能编译C语言,还可以编译C++(内部等同于调用g++)或Fortran等(编译其它语言相当于调用对应语言的编译器),g++只能编译C或者C++.
如果仅仅考虑C语言,参考此公式:g++ == gcc -xc++ -lstdc++ -shared-libgcc.
gcc 1.c和g++ 1.c有什么区别?
gcc 1.cpp和g++ 1.cpp有什么区别?
若文章对您有帮助,欢迎关注。助您在编程路上越走越好!
微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。
我是程序员小迷(致力于C、C++、Java、Kotlin、Android、iOS、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。