已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第九章编译预处理 1 概述 编译预处理是指在进行编译之前 系统自动引用预处理程序对源程序中的预处理部分作处理 处理完毕自动进入对源程序的编译 过程如下图 2 语言提供了多种预处理功能 如宏定义 文件包含 条件编译等 合理地使用预处理功能有利于程序的便于阅读 修改 移植和调试 也有利于模块化程序设计 预处理的命令有以下几个特点 1 预处理命令均以 开头 结尾不加分号 2 预处理命令可以放在程序中任何位置 作用范围从定义处到文件结尾 概述 3 1 无参宏定义格式 define宏名字符串功能 程序中用宏名表示字符串 编译预处理时用字符串替换宏名 说明 1 define为宏定义命令 宏名一般用大写字母表示 字符串可以是常数 表达式 格式串等 2 宏定义必须写在函数之外 其作用域为宏定义命令起到源程序结束 如要终止其作用域可使用如下语句 undef宏名 9 1宏定义 4 3 宏名在源程序中若用引号括起来 则预处理程序不对其作宏代换 definePI3 14159main floats l r printf inputr scanf f 9 1宏定义 5 2 带参宏定义格式 define标示符 形参表 形参表达式例如 defineMAX a b a b a b 进行宏替换时 可以像使用函数一样 通过实参与形参传递数据 defineFUN a a amain inti s 0 for i 1 i 10 i s s FUN i printf d n s 9 1宏定义 6 说明 1 宏名和括号之间不能有空格 2 宏替换只作简单的替换 设有如下宏定义 defineS x x x则S 5 6 将被替换为 5 6 5 6若宏定义为 defineS x x x S 5 6 就会被替换为 5 6 5 6 9 1宏定义 7 实质 就是用指定的文件的内容替换文件包含命令命令的一般形式为 格式1 include格式2 include 文件名 例如 include include stdio h 9 2文件包含 8 关于文件包含的几点说明 1 使用格式1时 预处理程序在C编译系统定义的标准目录下查找指定的文件 2 使用格式2时 预处理程序首先在当前源文件所在目录下查找指定文件 如没找到 则在C编译系统定义的标准目录下查找指定的文件 3 一个 include命令只能包含一个文件 而且必须是文本文件 4 文件包含可以嵌套 如a包含b b包含c 9 2文件包含 9 条件编译有三种形式 1 第一种形式 ifdef标识符程序段1 else程序段2 endif 功能 如果标识符已被 define命令定义过则对程序段1进行编译 否则对程序段2进行编译 9 3条件编译 10 2 第二种形式 ifndef标识符程序段1 else程序段2 endif 功能 如果标识符未被 define命令定义过则对程序段1进行编译 否则对程序段2进行编译 9 3条件编译 11 3 第三种形式 if常量表达式程序段1 else程序段2 endif 功能 如常量表达式值为真 非0 则对程序段1进行编译 否则对程序段2进行编译 define
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026云南曲靖市麒麟区寥廓街道天池社区居民委员会招聘公益性岗位人员1人模拟试卷(名校卷)附答案详解
- 2026重庆大学附属江津医院招聘3人启事参考题库含完整答案详解(考点梳理)
- 2026浙江温州市瑞安市汀田街道办事处招聘社会治理协管员1人备考题库附完整答案详解【名校卷】
- 2026安徽滁州市天长市镇街应急消防综合工作站招聘员额制安全监管员32人模拟试卷新版附答案详解
- 2026中国民航大学博士后招收模拟试卷(研优卷)附答案详解
- 2026年安庆桐城市文昌街道选聘生态护林员45名考试备考试题及答案详解
- 2026年云南玉龙县急需紧缺教师“回引计划”6人考试备考试题及答案详解
- 2026年铜陵市枞阳县机关事业单位公开招募35命青年就业见习人员考试备考试题及答案详解
- 2026重庆市大足区事业单位高层次人才引进12人模拟试卷及答案详解【必刷】
- 2026年眉山市东坡区社区工作者招聘考试参考试题及答案详解
- 2026湖南衡阳市衡东县卫健系统招聘专业技术人员46人模拟试卷完整附答案详解
- 2026-2030国内铁路电气设备行业市场发展分析及竞争格局与投资机会研究报告
- 2026-2030中国建筑信息模型(BIM)行业发展状况与前景趋势研究报告
- 2026年学校会计高频面试题包含详细解答
- 2026四川成都农业科技中心第二批招聘17人备考题库及1套完整答案详解
- 2026年秋人教部编版三年级语文上册教案全册
- 仓库货物收发验收管理规范
- 后勤管理工作不足对照检查材料范文
- 多病共存患者安全管理
- (2026年)检验检测机构资质认定“一单一库”的学习与解读(2026年实施)课件
- 模具预热工艺控制规范制度
评论
0/150
提交评论