分类: C/C++
2014-10-10 09:28:10
预编译:注释以空格代替,删除宏展开宏,处理#include展开包含文件
预处理指令:gcc –E file.c –o hello.i
编译:词法分析、语法分析、语义分析,分析完生成汇编代码
编译指令:gcc –S file.c –o hello.s
汇编:汇编代码转化成机器指令
汇编指令:gcc – c file.s –o hello.o
编译器编译工作包括:预处理、编译、汇编三步;
连接器的工作把各个独立的模块链接为可执行程序;
静态链接在编译期完成,动态链接在运行期完成;
动态链接解决了静态链接花内存问题,但静态链接运行省时间,动态链接中间要进行加载或寻找。