GCC and gcc and g++ 分别指的是什么

GCC and gcc and g++ 分别指的是什么

豆子 390 2022-05-26

GCC: GNU Compiler Collection(GNU 编译器集合),它可以编译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++ 等价,它们的区别不仅仅是这个


# C语言