当前位置: 首页 > news >正文

嵌入式C语言中函数宏基本操作方法

    大家好,今天给大家分享一下,如何使用C语言中的函数宏,配置方法。

     

1 函数宏介绍    

    函数宏,即包含多条语句的宏定义,其通常为某一被频繁调用的功能的语句封装,且不想通过函数方式封装来降低额外的弹栈压栈开销。

    函数宏本质上为宏,可以直接进行定义,例如:

#define INT_SWAP(a,b) \    int tmp = a;    \    a = b;          \    b = tmp

    但上述的宏具有一个明显的缺点:当遇到  if 、 while  等语句且不使用花括号仅调用宏时,实际作用范围在宏的第一个分号后便结束。即  a = b  和  b = tmp  均不受控制语句所作用。

    因此,在工程中,一般使用三种方式来对函数宏进行封装,分别为  {} 、 do{...}while(0)  和  ({})  。下文将一一对三种方式进行分析,比较各自的优劣点。

2 { } 方式    

    INT_SWAP  宏使用  {}  封装后形态如下: 

#define INT_SWAP(a,b)\{                   \    int tmp = a;    \

http://www.mrgr.cn/news/4956.html

相关文章:

  • EXCEL——Vlookup17个高级用法
  • 线性代数证明:若行列式的某一行(列)的元素都是两数之和,则可以把行列式拆成两个行列式之和
  • 基于UDP的TFTP文件传输
  • File的常见成员方法(获取并遍历)
  • 【Rust光年纪】提高开发效率:深入了解Rust语言中的数据库客户端和文件处理库
  • Pyramid学习笔记
  • 关于AR在医疗领域创新应用
  • 2024年4款高质量的英语翻译工具推荐!
  • 使用html-docx-js + fileSaver实现前端导出word
  • 笔记-系统规划与管理师-案例题-2022年-服务规划设计
  • MySQL集群+Keepalived实现高可用部署
  • gitlab自动部署是什么 gitlab自动部署如何进行操作
  • RabbitMq实现延迟队列功能
  • 继承(下)【C++】
  • redis基本工具类编写
  • 【机器学习】(基础篇五) —— 逻辑回归
  • JAVA_8
  • Selenium + Python 自动化测试18(数据驱动实现测试)
  • 哈希表--字母异位词分组
  • uni-app--》打造个性化壁纸预览应用平台(二)