gcc 和 g++ 都可以编译c, c++的程序,但是只有g++可以链接c++的库函数
gcc/g++在执行编译和链接工作的时候,总共需要4步
1.预处理,生成.i的文件[预处理器cpp]
2.将预处理后的文件转换成汇编代码,文件后缀为.s[编译器egcs]
3.由汇编变为目标代码(机器代码)生成.o的文件[汇编器as]
4.连接目标代码,生成可执行程序[链接器ld]
选项如下:
-E 只激活预处理,可将结果重定向到文件中
gcc -E hello.c > hello.txt
-S 只激活预处理和编译,可生成汇编代码
gcc -S hello.c
-c 只激活预处理、编译和汇编,可生成obj文件
gcc -c hello.c
-o 生成目标文件,如果是源文件是c++,需用g++才能链接
gcc -o hello.exe hello.c