gcc/g++:编译器
功能
将C/C++高级语言代码翻译成机器可识别的代码
编译过程
-
预处理(进行宏替换)
宏定义展开,头文件展开、条件编译等,同时将代码中的注释删除
eg:gcc -E hello.c -o hello.i
-
编译(生成汇编)
检查代码的规范性、是否有语法错误等,以确定代码的实际要做的工作,在检查无误后,把代码翻译成汇编语言
eg:gcc -S hello.i -o hello.s
-
汇编(生成机器可识别代码)
将汇编文件生成目标文件(二进制文件)
eg:gcc -c hello.s -o hello.o
-
链接(生成可执行文件或者库文件)
C语言写的程序是需要依赖各种库的,所以编译之后还需要把库链接到最终的可执行程序中去
eg:gcc hello.o -o he