原标题:C语言预处理命令详解
关注百问科技并将它设为星标
不错过任何一篇嵌入式干货
------
作者:clover_toeic
原文出处:
/clover-toeic/p/3851102.html,有改动
本文参考诸多资料,详细介绍常用的几种预处理功能。因成文较早,资料来源大多已不可考证,敬请谅解。全文字数2万,阅读时间50分钟,建议先收藏。
一 前言
预处理(或称预编译)是指在进行编译的第一遍扫描(词法扫描和语法分析)之前所作的工作。预处理指令指示在程序正式编译前就由编译器进行的操作,可放在程序中任何位置。
预处理是C语言的一个重要功能,它由预处理程序负责完成。当对一个源文件进行编译时,系统将自动引用预处理程序对源程序中的预处理部分作处理,处理完毕自动进入对源程序的编译。
C语言提供多种预处理功能,主要处理#开始的预编译指令,如宏定义(#define)、文件包含(#include)、条件编译(#ifdef)等。合理使用预处理功能编写的程序便于阅读、修改、移植和调试,也有利于模块化程序设计。
二 宏定义
C语言源程序中允许用一个标识符来表示一个字符串,称为“宏”。被定义为宏的标识符称为“宏名”。在编译预处理时,对程序中所有出现的宏名,都用宏定义中的字