最初,GCC编译器最初仅能编译C语言,后经过扩增可以编译多种语言,其中就包括C++。
在实际使用中,我们通常习惯使用gcc指令编译C语言程序,用g++指令编译C++程序。
在编译时,如果使用g++指令,则无论目标文件的后缀名是什么,该指令都一律按照编译C++代码的方式编译该文件。
也就是说,对于 .c 文件来说,gcc 指令会以 C 语言代码对待,而 g++ 指令则会以 C++ 代码对待。但对于 .cpp 文件来说,gcc 和 g++ 都会以 C++ 代码的方式编译。
严格来说C语言和C++标准的语法要求是有区别的,但显然C++标准对代码书写规范的要求更加严格。
此外,对于编译执行C++程序,使用gcc和g++也是有区别的。
很多C++程序会调用某些标准库中现有的函数或者类对象,而单纯的gcc命令是无法自动链接这些标准库文件的。
因此,对于C语言程序的编译,我们应该使用gcc指令,而编译C++程序则应该使用g++指令。