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)]))

最新文章

  1. 数据分析之Numpy基础:数组和适量计算
  2. IIS------IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决办法
  3. 运用ASMIOSTAT脚本监控asm disk磁盘性能
  4. c#开发Mongo笔记第五篇
  5. php二位数组合并
  6. C# 如何用计时器Timer控件实现停留几秒再做切换窗体的操作
  7. UML类图几种关系的总结,泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖
  8. MySQL查询优化处理
  9. 匿名方法和Lambda表达式
  10. H5微信通过百度地图API实现导航方式二
  11. [物理学与PDEs]第1章第3节 真空中的 Maxwell 方程组, Lorentz 力 3.1 真空中的 Maxwell 方程组
  12. mysql收集统计信息
  13. Visual Studio 2017 IDE之xml过大报错
  14. ArcGIS自定义工具箱-清空工作空间
  15. How to use Nissan consult 3 plus to check, make key and program?
  16. Find substring with K-1 distinct characters
  17. plsql 执行批量文件
  18. Ajax异步请求struts的JSON机制(省市区三级联动)
  19. [pthread]Linux C 多线程简单示例
  20. 在雇员表中查找第二高的工资SQL语句助记

热门文章

  1. lattice diamond 3.7安装破解
  2. [svc]linux bridge&docker0&k8s pod网络模型通俗演义
  3. 什么是WMS系统 金蝶仓库条码管理WMS系统介绍
  4. rabbitmq 基本信息
  5. javaperformanceoptimization
  6. iOS开发之地域选择
  7. C++面向对象程序设计的一些知识点(4)
  8. Windows Server 2012部署第一台域控
  9. java web 自定义的权限框架
  10. vim显示行号、语法高亮、自动缩进、添加下划线的设置