这是一些标准的定义宏,源码里面没有,但是编译器会认
就是少一些开销
少了检查
有多次的计算
难以调试
简单和性能攸关,可以使用函数宏
简单的代码片段(如数学公式)且性能要求高时,可以使用函数式宏。
上面的功能是预处理器带来的。
C语言预处理器是编译器的一部分,在编译前处理源代码。预处理器的任务是根据源代码中的 预处理指令(以#开头)对代码进行转换和扩展,生成一个没有预处理指令的新代码文件,供后续编译器处理。
预处理器允许定义符号常量和代码片段(宏),并在代码中用实际内容替换这些符号。
取消定义
工作流程是:
gcc -E source.c -o preprocessed.c
C语言预处理器的核心任务是在编译前对代码进行转换和扩展。