断言函数模型

来源:互联网 发布:slack通讯软件 编辑:程序博客网 时间:2024/05/16 08:40
#include<stdio.h>#include<assert.h>#define DEBUG   //开启断言/******************************************************************//*************************断言函数定义*****************************//******************************************************************/#ifdef DEBUG#define assert_param(expr) ((expr) ? (void)0 : assert_failed(__FILE__,__LINE__))void assert_failed(file, line);#else #define assert_param(expr) ((void)0)#endif/******************************************************************//**********************断言函数faile输出函数***********************//******************************************************************/#ifdef DEBUGvoid assert_failed(unsigned char* file, unsigned int line){printf("---------------ERRO!---------------\n\n");printf("错误文件:%s\n所在行数:%d行\n\n",file,line);}#endif/******************************************************************//***************************函数检测定义***************************//******************************************************************/#define max 32#define IS_FLAG(FLAG) (FLAG==max)void Test(unsigned int flag){assert_param(IS_FLAG(flag));flag=999;printf("-------------SUCCESS!-------------\n\n");printf("%d\n",flag);}/******************************************************************//****************************调用函数******************************//******************************************************************/void main(void){Test(34);}

断言错误:

---------------ERRO!---------------错误文件:D:\C语言编程文件\断言\test.c所在行数:38行-------------SUCCESS!-------------999Press any key to continue


断言成功

-------------SUCCESS!-------------999Press any key to continue


0 0
原创粉丝点击