在 CentOS 系统中,gcc 和 g++ 都是 GNU 编译器集合(GNU Compiler Collection)的一部分,但它们用于编译不同类型的程序:
gcc:GNU C 编译器,主要用于编译 C 语言程序。当你使用 gcc 命令编译一个 C 语言源文件(扩展名为 .c)时,它会将源代码编译成目标文件(扩展名为 .o),然后链接生成可执行文件。
g++:GNU C++ 编译器,主要用于编译 C++ 语言程序。当你使用 g++ 命令编译一个 C++ 源文件(扩展名为 .cpp 或 .hpp)时,它会将源代码编译成目标文件,然后链接生成可执行文件。g++ 在链接阶段会自动链接 C++ 标准库,而 gcc 则不会。
尽管它们主要用于编译不同类型的程序,但在某些情况下,你也可以使用 gcc 编译 C++ 程序,或者使用 g++ 编译 C 程序。不过,为了避免潜在的问题(例如链接错误),建议始终使用正确的编译器。
总结一下,gcc 和 g++ 的主要区别在于它们分别用于编译 C 和 C++ 程序。在使用时,请根据你的源代码类型选择合适的编译器。