g++和gcc的区别

2025-02-26 08:01:12
推荐回答(2个)
回答1:

g++和gcc的区别:

1、对于不同后缀的文件当作程序不同。

c后缀的文件,gcc把它当做是C程序;g++当做是C++程序;对于.cpp后缀的文件,gcc和g++都会当做c++程序。

2、编译阶段调用不同,g++会调用gcc;

3、连接阶段方式不同,通常会用g++来完成,这是因为gcc命令不能自动和c++程序使用的库连接。

gcc/g++在执行编译工作的时候,总共需要4步

1.预处理,生成.i的文件[预处理器cpp]

2.将预处理后的文件转换成汇编语言,生成文件.s[编译器egcs]

3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as]

4.连接目标代码,生成可执行程序[链接器ld]

回答2:

编译阶段是相同的,链接阶段g++默认链接c++库,gcc没有。
所以一般情况下用gcc编译c文件,用g++编译cpp文件。
但是也可以用gcc编译cpp文件,但后面需要加一个选项-lstdc++,作用是链接c++库
还可以用g++编译c文件