文件编译的过程:.c--->预处理 .i--->编译.s--->汇编.o --->连接app
预处理:
宏替换
头文件展开(复制文件内容)
去掉注释
特殊符号的处理
编译
把C语言转换为汇编
汇编
在汇编前,所有文件一 一 对应
汇编转二进制(二进制i文件不能直接执行)
连接
将多个.o链接成一个可执行的二进制文件
静态(链接)库:
-静态链接进程序,编译后生成一个可直接执行的文件(不需要依赖其他文件)
-编译后生成的程序比较大
-修改时需要生成全新的可执行文件
动态(链接)库:
-动态链接,只记录库的信息,编译后生成的可执行文件执行时需要依赖库
-编译后生成的程序较小
-修改时可以只重新生成库,可执行文件不需要重新生成