
一.预处理的功能1.在c语言中#include stdio.h 就是一种预处理命令类似还有#includesrring.h这种都属于预处理命令2.这些预处理命令都是带有#开头的1.C提供的预处理功能主要有以下3种宏定义文件包含条件编译2.编译器1.通过gcc编译器可以将.c文件编译成可执行文件2.注意gcc编译器默认直接一步到位但底层其实分 4 个步骤3.实际的编译过程:预处理:将程序中的预处理命令执行完将代码处理成 纯的C语言代码编译:将预处理完的文件进行语法词法分析检查问题生成 一份 汇编代码汇编:将前面的汇编代码最终翻译成机器代码链接:将用到的第三方代码 链接(拼接)成为 最终可执行程序4.编译过程的步骤代码预处理:gcc -E hello.c -o hello.i编译:gcc -S hello.i -o hello.s汇编:gcc -c hello.s -o hello.o链接:gcc hello.o -o hello示例以输入hello world到终端的代码演示四个步骤1预处理阶段2编译阶段3汇编阶段4链接阶段1. 宏定义用宏来替代文本信息写法1.define 标识符 字符串2.define 宏名 宏值注意1.宏本质还是一个标识符宏名通常用字符常量表示最好大写2.运行的本质是将文本信息原样替代3.用宏定义可以提高代码的可读性方便后期调整2.带参宏1.带参宏 可以给一些参数形式特别像函数调用2.与函数区别在于没有类型3.函数在程序运行后才可以用宏在预处理阶段就处理完了4.带参宏参与运算的时候加上括号否则容易被改变值所有宏定义都是以换行作为结束符都是将文本信息原样替代代码示例带参宏还可以定义一串代码要用加上\代表在同一行\后面不得跟有其他符号结果输出一致将宏的部分替代成一串代码