且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

g++ 和 gcc 有什么区别?

更新时间:2023-11-11 15:51:16

gccg++ 是 GNU Compiler Collection 的编译器驱动程序(曾几何时只是 GNU C 编译器).

gcc and g++ are compiler-drivers of the GNU Compiler Collection (which was once upon a time just the GNU C Compiler).

即使它们会根据文件类型自动确定要调用的后端 (cc1 cc1plus ...),除非被 -x 语言覆盖,它们有一些区别.

Even though they automatically determine which backends (cc1 cc1plus ...) to call depending on the file-type, unless overridden with -x language, they have some differences.

它们的默认值可能最重要的区别是它们自动链接到哪些库.

The probably most important difference in their defaults is which libraries they link against automatically.

根据 GCC 的在线文档 链接选项g++是如何调用的g++等价于gcc -xc++ -lstdc++ -shared-libgcc (第一个是编译器选项,第二个是链接器选项).这可以通过使用 -v 选项运行两者来检查(它显示正在运行的后端工具链命令).

According to GCC's online documentation link options and how g++ is invoked, g++ is equivalent to gcc -xc++ -lstdc++ -shared-libgcc (the 1st is a compiler option, the 2nd two are linker options). This can be checked by running both with the -v option (it displays the backend toolchain commands being run).