1. 辅助定义复杂的宏

    example:  #define A(args)   do { a(args); b() } while(0);

    如果定义#define A(args)   a(args);b();

    if(i > 0)   A(i)

    if(i > 0  )

    do { a(2);b();} while(0)

    或者

    while(1)

    a(args);b();  这不是我们想要的,因为第二个b();不会被执行。

  2. 代替goto语句,代码流程比较好。int foo(){ somestruct* ptr = malloc(...);   do{dosomething...;if(error){break;} dosomething...;if(error){break; //goto free(ptr);}dosomething...;}while(0);free(ptr);return 0; }
  3. 避免空宏引起的waring

    #define B  do{   } while(0);

转载于:https://blog.51cto.com/cuithzw/1441670

do{ ...}while(0)应用技巧相关推荐

  1. .NET Core 2.0迁移技巧之MemoryCache问题修复

    对于传统的.NET Framework项目而言,System.Runtime.Caching命名空间是常用的工具了,其中MemoryCache类则常被用于实现内存缓存. .NET Core 2.0暂时 ...

  2. IDA Pro7.0 使用技巧 总结

    From:IDA Pro7.0 使用 技巧 总结:https://www.52pojie.cn/thread-886103-1-1.html 俗话说,工欲善其事,必先利其器,在二进制安全的学习中,使用 ...

  3. ASP.Net2.0小技巧 保持滚动条的位置 焦点移动到某个控件 $符号轻松的使用FindControl...

    您可能不知道的ASP.Net2.0小技巧 <!-- 页码和简介 --> 1.  在提交页面之后,保持滚动条的位置 可以在page指令上加上MaintainScrollPositionOnP ...

  4. 43个热门Flex和ActionScript 3.0 APIs,技巧和工具

    Sean Moore Bio 说道:秋天又一次来临了,是时候回顾一下2008年最热门的Flex和ActionScript 3.0 APIs,技巧和工具了,下面是我的总结,收集的比较全,Flex开发必备 ...

  5. asp.net 2.0常见问题技巧1

    asp.net 2.0常见问题技巧1 常见的一个应用场景,就是gridview中,当库存量少于某个数时,背景颜色先变色 还有就是对某一列统计其总和,显示在页脚里,下面分别阐述之  首先是当库存小于某个 ...

  6. iis7设置html支持asp,IIS7.0 设置技巧 (如何支持asp?)

    IIS7.0 设置技巧 (如何支持asp?) 发布时间:2008-12-09 12:33:49   作者:佚名   我要评论 详解Vista系统自带的iis7.0有很多让人耳目一新的内容,这篇文章介绍 ...

  7. IDA Pro7.0使用技巧总结使用

    文章目录 声明 一些二进制工具 C++filt: PE tools: string: strip: IDA目录结构 常用快捷键 常用设置 拍摄快照 菜单栏常用设置 自动添加反汇编注释 常用操作 创建数 ...

  8. ASP.NET2.0小技巧--内部控件权限的实现

    谈<内业办公自动化>(可以到http://www.aspx-net.com/测试)的实现技巧之一:     在使用ASP.NET2.0的身份验证和授权时,有时候我们需要提供比页面更高一级的 ...

  9. IDA Pro7.0使用技巧总结

    转自:https://xz.aliyun.com/t/4205 俗话说,工欲善其事,必先利其器,在二进制安全的学习中,使用工具尤为重要,而IDA又是玩二进制的神器,以前在使用IDA的时候,只是用几个比 ...

  10. 帆软FineReport8.0使用技巧总结及常见问题解决

    帆软FineReport使用技巧总结 如下提个自己画的cpt模板,下面的功能都用到了 http://download.csdn.net/download/qq_36743482/10001977 1. ...

最新文章

  1. A component required a bean named 'XXXService' ...
  2. Python入门教程:很多人推荐学 Python 入 IT ,如果学完 Python 找不到工作怎么办...
  3. docker 中用docker 启动应用访问docker中的mysql
  4. 收文处理和发文处理的环节_集气罩的设计是气体净化、废气处理系统设计的重要环节...
  5. 使用raphael.js绘制中国地图
  6. 【Linux 内核 内存管理】内存映射原理 ② ( 内存映射概念 | 文件映射 | 匿名映射 | 内存映射原理 | 分配虚拟内存页 | 产生缺页异常 | 分配物理内存页 | 共享内存 | 进程内存 )
  7. 窄带Vs宽带 MIMO
  8. win10文件资源管理器打开时很慢
  9. grafana-reporter
  10. 程序员的办公好选择:工作效率翻倍,游戏也能超神
  11. 善用GOOGLE–从入门到精通
  12. 李欣桐 计算机竞赛,【赛出精彩】我校举行数学计算能力竞赛活动
  13. php怎么使用sendcloud,PHP开发之SendCloud发送邮件知几何
  14. file_operations结构体介绍
  15. vertica MySQL_vertica 数据库常用命令
  16. socket编程之read()/write()
  17. U盘启动安装Windows7 系统
  18. esp32对接阿里云生活物联网平台 天猫精灵控制 云智能APP远程控制 ali-sdk开发
  19. 在unreal中的基于波叠加的波浪水面材质原理和制作
  20. 一文吃透MySQL面试八股文

热门文章

  1. 无穷级数求和7个公式_双色球2019129期渗透围红蓝(6+1实战,附:7个双色球胆码公式)...
  2. 三菱gs触摸屏进入设定菜单_三菱触摸屏常用功能设置 以及界面调整
  3. 批量关闭公众号推送_微信推出“一键拒收”长期未读公众号推送功能
  4. 机器人瓦力船长机器人_警察“瓦力”来啦!机器人巡逻南京路 这样的它你喜欢吗?...
  5. 网络设置计算机,怎么重置电脑网络设置
  6. java有模糊查询吗,到底Java里的模糊查询语句该怎么写
  7. node.js 验证路径有效性_怎样识别光伏谐波路径?试试这个算法
  8. VUE保存页面的数据,VUE页面显示就执行某个函数,VUE页面隐藏就执行某个函数
  9. 在javascript中判断类型
  10. 二十分钟教你如何将区块链应用与函数计算相结合