C语言学习笔记

c学习笔记——预处理,编译,链接

预处理:进行宏替换,将头文件所包含的内容替换进来,跟运行相应的宏指令;

编译:C语言编译所进行的是语法分析,词法分析,为静态数据(全局变量跟static声明的静态变量)分配内存。会检查函数是否定义(在所有同时编译的.c源文件里面查询),编译后生产电脑能识别的机器指令。
若未定义会检查是否声明(在本源文件或所包含的头文件里查询)———>

①若有定义但未声明,则可以编译可以链接
②若无定义但有声明,则可以编译无法链接
③若无定义也无声明,则无法编译无法运行

链接:将编译生成的.obj文件链接(将函数实体链接到函数调用处),生成ELF格式文件(Linux系统下可执行的文件格式);

你可能感兴趣的:(编译跟链接)