gcc和g++都是GNU(一个组织)的编译器。
1、对于.c后缀的文件,gcc把它当做是C程序;g++当做是C++程序;
2、对于.cpp后缀的文件,gcc和g++都会当做c++程序。
3、编译阶段,g++会调用gcc,对于c++代码,两者是等价的;
4、连接阶段,通常会用g++来完成,这是因为gcc命令不能自动和c++程序使用的库连接。
gcc可以用来编译c++但是它不会自动调用链接的c++库,你需要自己手动链接,使用如下命令:gcc -lstdc++main.cpp。g++则会自动调用链接的c++库。
gcc/g++在执行编译工作的时候,总共需要4步
1.预处理,生成.i的文件[预处理器cpp] 命令:g++ -E Test.cpp > Test.i
2.将预处理后的文件转换成汇编语言,生成文件.s[编译器egcs] 命令:g++ -S Test.cpp
3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as] 命令:g++ -c Test.cpp
4.连接目标代码,生成可执行程序[链接器ld] 命令:g++ Test.o -L F: \include\iostream
g++编译多个文件: g++ -o out TestIntCell.cpp IntCell.cpp