GCC是什么
GNU编译器套装(英语:GNUCompilerCollection,缩写为GCC),指一套编程语言编译器,以GPL及LGPL许可证所发行的自由软件,也是GNU计划的关键部分,也是GNU工具链的主要组成部分之一。GCC(特别是其中的C语言编译器)也常被认为是跨平台编译器的事实标准。
原名为GNUC语言编译器(GNUCCompiler),因为它原本只能处理C语言。GCC在发布后很快地得到扩展,变得可处理C++。之后也变得可处理Fortran、Pascal、Objective-C、Java、Ada,Go与其他语言。许多操作系统,包括许多类Unix系统,如Linux及BSD家族都采用GCC作为标准编译器。
GCC原本用C开发,后来因为LLVM、Clang的崛起,它更快地将开发语言转换为C++。许多C的爱好者在对C++一知半解的情况下主观认定C++的性能一定会输给C,但是IanLanceTaylor给出了不同的意见,并表明C++不但性能不输给C,而且能设计出更好,更容易维护的程序。
gcc与g++的区别
学习了几篇博客,发现知乎的一个回答相对表达清楚和准确性。
这里的gcc(小写)与前文的GCC含义是不同的。虽然,简单来说,gcc指的是GCC中的GNUCCompiler(C编译器);g++是G++中的GNUC++Compiler(C++编译器),但本质上gcc和g++都不是编译器,也不是编译器的集合,它们只是一种驱动器,根据参数中的文件类型,调用对应的GNU编译器,所以更准确的说法是:gcc调用了C