咩?
GCC 、gcc 和g++
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++的主要区别
- 对于
*.c
和*.cpp
文件, gcc分别当做c和cpp文件编译 (c和cpp的语法强度是不一样的) - 对于
*.c
和*.cpp
文件, g++则统一当做cpp文件编译 - 使用
g++
编译文件时, g++会自动链接标准库 STL , 而 gcc 不会自动链接 STL - gcc 在编译C文件时,可使用的预定义宏是比较少的
- gcc 在编译 cpp 文件时 / g++在编译c文件和 cpp文件时 (这时候gcc和g++调用的都是cpp文件的编译器) , 会加入一些额外的宏
- 在用 gcc 编译 c++ 文件时, 为了能够使用STL, 需要加参数 –lstdc++ , 但这并不代表 gcc –lstdc++ 和 g++等价, 它们的区别不仅仅是这个
gcc和g++是两个不同的编译器
gcc主要用于编译C语言代码,g++则主要用于编译C++代码。虽然gcc也可以编译C++代码,但是使用g++更为方便。g++可以自动链接C++标准库,而gcc需要手动链接C++标准库。此外,g++还能够自动识别C++代码,并调用相应的编译器。在使用g++编译C++代码时,需要使用“.cpp”作为文件扩展名。如果使用“.c”作为文件扩展名,g++会将代码识别为C语言代码进行编译,而不是C++代码。