BUILD_BUG_ON
2024-10-18 18:30:04
BUILD_BUG_ON()
在编译时调用,可以提前发现错误,这里利用了一些不常用的特性,当数组个数元素为负时会发生编译器错误,对于位域宽度而言,其为负数时也会发生编译器错误。
#define BUILD_BUG_ON_ZERO(e) (sizeof(struct{int : -!!(e);}))
#define BUILD_BUG_ON_NULL(e) ((void*)sizeof(struct{int : -!!(e);})) #define BUILD_BUG_ON(condition) ((void)BUILD_BUG_ON_ZERO(condition)) #define MAYBE_BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2 * !!(condition)]))
最新文章
- 数据分析之Numpy基础:数组和适量计算
- IIS------IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决办法
- 运用ASMIOSTAT脚本监控asm disk磁盘性能
- c#开发Mongo笔记第五篇
- php二位数组合并
- C# 如何用计时器Timer控件实现停留几秒再做切换窗体的操作
- UML类图几种关系的总结,泛化 = 实现 >; 组合 >; 聚合 >; 关联 >; 依赖
- MySQL查询优化处理
- 匿名方法和Lambda表达式
- H5微信通过百度地图API实现导航方式二
- [物理学与PDEs]第1章第3节 真空中的 Maxwell 方程组, Lorentz 力 3.1 真空中的 Maxwell 方程组
- mysql收集统计信息
- Visual Studio 2017 IDE之xml过大报错
- ArcGIS自定义工具箱-清空工作空间
- How to use Nissan consult 3 plus to check, make key and program?
- Find substring with K-1 distinct characters
- plsql 执行批量文件
- Ajax异步请求struts的JSON机制(省市区三级联动)
- [pthread]Linux C 多线程简单示例
- 在雇员表中查找第二高的工资SQL语句助记