c语言静态断言-定义自己的静态断言

时间:2024-12-09 17:35:26

  c语言里面可以自己定义静态断言,更加方便的调试代码。

  使用静态断言

 #include<stdio.h>
#include<stdlib.h>
#include<assert.h> void main()
{
int num = ;
assert(num < ); //num<20 就是正常,否则异常
printf("%d",num);
}

  用自己定义的静态断言来实现

 #include<stdio.h>
#include<stdlib.h>
#include<assert.h> //define 一行写不下可以用\
//预编译处理 #define DEBUG
#ifndef DEBUG //如果没有定义常量DEBUG
#define myassert(x)//只定义, 并不写代码检测提示
#else
//定义myassert和写代码检测提示
#define myassert(x) \
if (!(x)) \
{\
printf("myassert(%s)宏开始检测....\n",#x);\
printf("尼玛出错了");\
printf("当前函数名为%s,文件名为%s,代码行号为%d",__FUNCTION__,__FILE__,__LINE__);\
}
#endif void main()
{
int num = ;
assert(num < ); //num<20 就是正常,否则异常
printf("%d",num);
}