GCC:GNU Compiler Collection(GUN 编译器集合),它可以编译C、C++、JAV、Fortran、Pascal、Object-C等语言。

gcc是GCC中的GUN C Compiler(C 编译器)

g++是GCC中的GUN C++ Compiler(C++编译器)

 

由于编译器是可以更换的,所以gcc不仅仅可以编译C文件

所以,更准确的说法是:gcc调用了C compiler,而g++调用了C++ compiler

 

gcc和g++的主要区别

1. 对于 *.c和*.cpp文件,gcc分别当做c和cpp文件编译(c和cpp的语法强度是不一样的)

2. 对于 *.c和*.cpp文件,g++则统一当做cpp文件编译

3. 使用g++编译文件时,g++会自动链接标准库STL,而gcc不会自动链接STL

4. gcc在编译C文件时,可使用的预定义宏是比较少的

5. gcc在编译cpp文件时/g++在编译c文件和cpp文件时(这时候gcc和g++调用的都是cpp文件的编译器),会加入一些额外的宏。

6.在用gcc编译c++文件时,为了能够使用STL,需要加参数 –lstdc++ ,但这并不代表 gcc –lstdc++ 和 g++等价,它们的区别不仅仅是这个。

 


gcc   -  GNU C Compiler
g++  -  GNU C++ Compiler


熟悉C++的人应该都知道,C++是C语言的超集,编写C/C++代码的时候,有人用gcc,也有人用g++。
Windows中我们常用vs来编译编写好的C和C++代码;vs把编辑器,编译器和调试器等工具都集成在这一款工具中;
Linux中我们能用什么工具来编译所编写好的代码呢?其实Linux下这样的工具有很多,但我们只介绍两款常用的工具,它们分别是gcc和g++。

 

总结

gcc和g++的区别主要是在对cpp文件的编译和链接过程中,因为cpp和c文件中库文件的命名方式不同,
那为什么g++既可以编译C又可以编译C++呢?
这时因为g++在内部做了处理,默认编译C++程序,但如果遇到C程序,它会直接调用gcc去编译。

 

 

Reference 

1 https://www.cnblogs.com/liushui-sky/p/7729838.html
2 https://blog.csdn.net/bit_clearoff/article/details/53965514
 

 

 

More

g++以及gcc的区别

 

g++以及gcc的区别

 

 

 

 

相关文章:

  • 2021-06-21
  • 2021-09-05
猜你喜欢
  • 2021-11-14
  • 2022-12-23
  • 2021-08-23
  • 2021-10-28
  • 2021-05-16
  • 2021-06-17
相关资源
相似解决方案