💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# 6.C语言预处理指令总结 预处理指令是以#号开头的代码行。#号必须是该行除了任何空白字符外的第一个字符。#后是指令关键字,在关键字和#号之间允许存在任意个数的空白字符。整行语句构成了一条预处理指令,该指令将在编译器进行编译之前对源代码做某些转换。 下面是本章涉及到的部分预处理指令: | 指令 | 说明 | |---|---|---| | # | 空指令,无任何效果 | | #include | 包含一个源代码文件 | | #define | 定义宏 | | #undef | 取消已定义的宏 | | #if | 如果给定条件为真,则编译下面代码 | | #ifdef | 如果宏已经定义,则编译下面代码 | | #ifndef | 如果宏没有定义,则编译下面代码 | | #elif | 如果前面的#if给定条件不为真,当前条件为真,则编译下面代码 | | #endif | 结束一个#if……#else条件编译块 | 预处理功能是C语言特有的功能,它是在对源程序正式编译前由预处理程序完成的。程序员在程序中用预处理命令来调用这些功能。 宏定义可以带有参数,宏调用时是以实参代换形参。而不是“值传送”。 为了避免宏代换时发生错误,宏定义中的字符串应加括号,字符串中出现的形式参数两边也应加括号。 文件包含是预处理的一个重要功能,它可用来把多个源文件连接成一个源文件进行编译,结果将生成一个目标文件。 条件编译允许只编译源程序中满足条件的程序段,使生成的目标程序较短,从而减少了内存的开销并提高了程序的效率。 使用预处理功能便于程序的修改、阅读、移植和调试,也便于实现模块化程序设计。