预编译处理
来源:互联网 发布:ps源码网站 编辑:程序博客网 时间:2024/06/06 08:37
带参数的宏与函数的区别
1.在控制上,函数的调用需要进行函数控制的转移;带参数的宏,则仅仅是表达式的计算
2.带参数的宏一般是一个表达式,所以它不像函数有固定的数据类型。
3.在调用函数时,对参数的数据类型有一定的限制;而带参数的宏可以是任何数据类型
4.在调用函数时,存在着从实参向形参传递的过程;而带参数的宏不存在这种过程,仅仅是替换
宏定义的特点
1.程序中使用带参数的宏,由于不存在控制的转移和参数的传递,因为较函数的执行快;
因此,对简短的表达式以及频繁、要求快速响应的场合,采用宏替换较好。但由于定义的代码
反复的使用使源程序代码量增大。
2.带参数的宏,除了使用表达式定义之外,还可以使用函数定义。
例如:#define getchar() fgetc(stdin)
3.宏替换只是简单的字符替换而不进行计算。
宏定义的解除。
#undef
- 关于预编译处理
- 预编译处理
- 预编译处理
- 预编译处理
- 预编译处理
- <C++>预编译处理
- Javascript预编译和处理
- stdafx.h预编译处理
- 预编译头文件原理及处理
- Oracle预编译的SQL语句处理
- c语言编译02--预编译处理
- mysql预编译处理(mysqli、PDO)
- 预编译sql处理(防止sql注入)
- 预编译处理#error的作用
- PB预编译处理、运行环境检测、
- 预编译
- 预编译
- 预编译
- Struts2 表单提交 POJO
- 单独编译Linux内核中的jbd模块
- Qt4.7 嵌入式环境搭建之源码编译和安装
- c#笔记总结--属性与索引器的区别
- DevExpress ASPx Control 汉化
- 预编译处理
- c/c++关于内存分配的知识
- 【STM32 .Net MF开发板学习-17】Wifi遥控智能小车
- Struts2 与 Spring 集成实例
- 在struts2中使用freemarker
- 有点问题
- POJ 1511 Invitation Cards
- 【AutoIt】文件夹遍历
- 数独算法(非递归)