博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于宏的一点注意
阅读量:6684 次
发布时间:2019-06-25

本文共 336 字,大约阅读时间需要 1 分钟。

在一般的宏定义中,我们使用如:

#define PI 3.1415926

或者带参数的宏如:

#define MIN(x,y) ((x) < (y) ? (x) : (y))

在gnu c中扩展的宏的格式为:({内容}),如:

#define MIN(x, y) ({      \

  const typeof(x) _x = x;   \

  const typeof(y) _y = y;  \

  (void *)(&_x == &_y);  \

  _x < _y ? _x : _y;    \

})

在这样的宏定义中,以最后一个表达式的值作为整个宏的结果!

转载于:https://www.cnblogs.com/lpfrylzx/p/3176870.html

你可能感兴趣的文章
Nginx反向代理与负载均衡:节点服务器单/多虚拟机配置+实验环境搭建+原理解析...
查看>>
网络管理之局域网协议设置一点通
查看>>
Linux最大文件打开数使用经验详解
查看>>
搜索助理、意外错误、操作无法完成解决方法
查看>>
Qt的QLabel小用
查看>>
nginx 根据IP 进行灰度发布
查看>>
关于cacti图形显示不正常的解决办法
查看>>
使用Configuration Manager配置报表服务
查看>>
DHCP服务的配置与管理(1)DHCP协议原理
查看>>
Python 学习笔记 - 反射
查看>>
组策略实现对IE受信任站点添加
查看>>
zabbix proxy搭建及应用proxy监控腾讯CVM服务器
查看>>
机器学习入门|聚类(一)
查看>>
一步一步学Silverlight 2系列(24):与浏览器交互相关辅助方法
查看>>
在cocos2d-x中编译/调试curl库
查看>>
asp.net EF+MVC2实战2
查看>>
两个相似SQL的查询结果,以前未曾注意
查看>>
mongodb用户权限管理讲解
查看>>
邮件系统,企业的沟通桥梁,不可以宕机
查看>>
修补AJAX应用中Back/Forward Button和Bookmark失效的问题
查看>>