c语言编译过程和头文件<>与""的区别
- 编译过程:
预处理--编译--汇编--链接
-
预处理:用于将所有#include头文件及#define等宏定义替换成真正的内容,预处理后的得到的仍然是文本文件,但体积会大。
1.将头文件中的内容(源文件之外的文件)插入到源文件中
2.进行了宏替换的过程,定义和替换了由#define指令定义的符号
3.删除注释的过程,注释不会带到编译阶段
4.条件编译
-
编译:将预处理之后的程序转换成特定汇编代码的过程 ,这里的编译不是指从源文件到二进制程序的全过程
-
汇编:汇编过程将上一步的汇编代码转换成机器码,这一步产生的文件叫目标文件,是二进制格式。
-
链接:链接过程将多个目标文件以及所需的库文件(.so等)链接成最终的可执行文件
2.头文件<>""区别
-
<>:尖括号<>表示这个文件,编译器会从系统配置的库环境中去寻找
-
"":双引号表示这个文件是用户提供的头文件编译器会从当前项目的当前目录文件夹中寻找,如果找不到就会从系统默认的库环境中寻找