- 0
- 0
- 约1.42千字
- 约 19页
- 2019-11-28 发布于上海
- 举报
编译预处理;一、宏定义
1.不带参数的宏定义
定义的一般形式:
#define 标识符 字符串
凡是以“#”开头的均为预处理命令。“define”为宏定义命令
“标识符”为所定义的宏名
“字符串”可以是常数、表达式、格式串等
例如:#define PI 3.1415926;程序举例:;无参宏定义的一般规律:
宏名一般用大写字母表示
使用宏名代替程序中经常出现的常量
宏定义是用宏名来代替一个字符串,在宏展开时又以该字符串取代宏名,预处理程序对它不作任何检查。如有错误,只能在编译已被宏展开后的源程序时发现;宏定义不是说明或语句,在行末不必加分号,如加上分号则连分号也一起置换
定义必须写在函数之外,其作用域为宏定义命令起到源程序结束。如要终止其作用域可使用#undef命令
宏名在源程序中若用引号括起来,则预处理程序不对其作宏代换;宏定义允许嵌套,在宏定义的字符串中可以使用已经定义的宏名
可用宏定义表示数据类型,使书写方便,但要和typedef相区别
对“输出格式”作宏定义,可以减少书写麻烦,但不建议使用;2.带参数的宏定义
定义的一般形式:
#define 宏名(形参表) 字符串
带参宏调用的一般形式为:
宏名(实参表);
例如: #define M(y) y*y+3*y
k=M(5);
相当于k=5*5+3*5;;带参宏定义的一般规律:
宏名和形参表之间不能有空格出现
形式参数不分配内存单元,因此不必作类型定义。而宏调用中的实参有具体的值。要用它们去代换形参,因此必须作类型说明
在宏定义中的形参是标识符,而宏调用中的实参可以是表达式;二、文件包含
一个源文件可将另一个源文件的内容全部包含进来
一般形式:
#include文件名
或
#include文件名
一般库文件用,用户自定义文件用 ;三、条件编译
1.第一种形式:
#ifdef 标识符
程序段1
#else
程序段2
#endif ;功能:
如果标识符已被 #define命令定义过则对程序段1进行编译;否则对程序段2进行编译。如果没有程序段2(它为空),本格式中的#else可以没有,即可以写为:
#ifdef 标识符
程序段
#endif;程序举例:;2.第二种形式:
#ifndef 标识符
程序段1
#else
??序段2
#endif ;功能:
如果标识符未被#define命令定义过则对程序段1进行编译,否则对程序段2进行编译。与第一种形式的功能正相反 ;3.第三种形式:
#if 常量表达式
程序段1
#else
程序段2
#endif;功能:
如常量表达式的值为真(非0),则对程序段1 进行编译,否则对程序段2进行编译。因此可以使程序在不同条件下,完成不同的功能 ;程序举例:;小结;4.为了避免宏代换时发生错误,宏定义中的字符串应加括号,字符串中出现的形式参数两边也应加括号
5.文件包含是预处理的一个重要功能,它可用来把多个源文件连接成一个源文件进行编译,结果将生成一个目标文件
6.条件编译允许只编译源程序中满足条件的程序段,使生成的目标程序较短,从而减少了内存的开销并提高了程序的效率
7.使用预处理功能便于程序的修改、阅读、移植和调试,也便于实现模块化程序设计
您可能关注的文档
- 工学数据的组织方式.pptx
- 中学联盟湖北省宜昌市第二十七中学2014中考物理复习压强全国通用.pptx
- 市场营销串讲.pptx
- 数学微积分基本定理第课时人教a版选修.pptx
- 高三复习经济建设发展和曲折.pptx
- 工程经济第二章.pptx
- 高考政治二轮复习经济生活知识体系构建及对相关热点问题精妙处理(000001).pptx
- 丹东市第二中学化学组70.pptx
- 成本核算培训2.pptx
- 教育学教育与人的发展.pptx
- 宣贯培训(2026年)《NYT 4512-2025 非洲菊疫病抗性鉴定技术规程》.pptx
- 宣贯培训(2026年)《NYT 4514-2025木薯副产物综合利用导则》.pptx
- 宣贯培训(2026年)《NYT 4513-2025木薯全程机械化生产技术规范》.pptx
- 宣贯培训(2026年)《NYT 4470-2025全株玉米青贮质量分级》.pptx
- 宣贯培训(2026年)《NYT 4468-2025玉米供需平衡表编制规范》.pptx
- 宣贯培训(2026年)《NYT 4469-2025全株玉米青贮质量评定 综合指数法》.pptx
- 宣贯培训(2026年)《NYT 4474-2025东北地区玉米-大豆轮作生产技术规程》.pptx
- 宣贯培训(2026年)《NYT 4472-2025玉米耐盐碱鉴定评价技术规程》.pptx
- 宣贯培训(2026年)《NYT 4473-2025玉米抗旱性鉴定评价技术规程》.pptx
- 宣贯培训(2026年)《NYT 4478-2025甘薯收获技术规程》.pptx
最近下载
- 新版湘少版四年级下册英语教案全册.doc
- 教科版小学六年级下册综合实践活动主题二 第2课 我给学校提建议(课件).pptx VIP
- FR-WI-08-23 环境管理物质执行标准 A21.xls VIP
- 比亚迪环境管理物质标准A6.pdf VIP
- 大数据视角下小学生学习能力评价与提升策略实践教学研究课题报告.docx
- 2025年落实上级统计督察整改工作情况的报告范文.docx VIP
- HSF001--A1环境管理物质管理标准.doc VIP
- 外军管理概论题库及答案.doc VIP
- T SHJNXH 0021—2025 电化学储能电站运行综合能效等级及评价.pdf VIP
- 2025年外军管理概论试题及答案.docx VIP
原创力文档

文档评论(0)