当前仓库属于暂停状态,部分功能使用受限,详情请查阅 仓库状态说明
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
ASSERT.h 1.46 KB
一键复制 编辑 原始数据 按行查看 历史
/***********************************************************************************************
_____________________________________杭州大仁科技有限公司_______________________________________
@文 件 名: uassert.h
@日 期: 2016.07.23
@作 者: 张诗星
@文件说明:
调试诊断库是一个包含ASSERT(断言)、LOG(日志记录)功能的程序模块。
可以使用调试诊断库来快速的定位程序BUG和记录日志。
ASSERT提供用户一个自定义的断言机制,当定义了NODEBUG时,将启动断言功能
另外用户必须要实现assert_failed函数来完成assert的功能
@修订说明:
***********************************************************************************************/
#ifndef _USE_ASSERT_H_
#define _USE_ASSERT_H_
/*----------------------------------------宏定义----------------------------------------------*/
#ifdef NDEBUG
#define ASSERT(expr) ((void)0)
#define ASSERT_MSG(expr,MSG) ((void)0)
#else
//兼容C C++混合编程
#ifdef __cplusplus
extern "C" {
#endif
// assert处理函数定义
// @file 文件名称
// @line 文件行号
// @message 信息
void assert_failed(const char* file, int line,const char* message);
//兼容C C++混合编程
#ifdef __cplusplus
}
#endif
/*
void assert_failed(const char* file, int line, const char* message)
{
while (1){}
}
*/
// ASSERT默认定义
#define ASSERT(expr) ((expr) ? (void)0 : assert_failed(__FILE__, __LINE__,"ASSERT"))
// 可设置消息的ASSERT定义
#define ASSERT_MSG(expr,aMSG) ((expr) ? (void)0 : assert_failed(__FILE__, __LINE__,aMSG))
#endif /* #ifdef NODEBUG */
#endif /* #ifndef _USE_ASSERT_H_ */
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化