[开发资料] 断言(Assertion)的使用

[复制链接]
851|12
 楼主| szt1993 发表于 2024-3-6 18:00 | 显示全部楼层 |阅读模式
se, TI, IO
断言(Assertion),断言用于在程序中检查特定条件是否满足,如果条件为假,会触发断言失败,并输出相关信息

  1. #define assert(expression) ((void)0)
  2. #ifndef NDEBUG
  3. #undef assert
  4. #define assert(expression) ((expression) ? (void)0 : assert_failed(__FILE__, __LINE__))
  5. #endif

  6. void assert_failed(const char *file, int line) {
  7.     printf("Assertion failed at %s:%d\n", file, line);
  8.     // Additional error handling or logging can be added here
  9. }



评论

平时比较少用到  发表于 2024-3-13 09:53
yangxiaor520 发表于 2024-3-6 19:18 来自手机 | 显示全部楼层
主要用于打印一下调试信息
LOVEEVER 发表于 2024-3-9 17:00 | 显示全部楼层
本帖最后由 LOVEEVER 于 2024-3-12 08:14 编辑

断言用于在程序中检查特定条件是否满足,如果条件为假,会触发断言失败,并输出相关信息
星辰大海不退缩 发表于 2024-3-11 08:39 | 显示全部楼层
断言函数主要是应用在那些方面呢?

评论

调试  发表于 2024-3-13 09:53
OKAKAKO 发表于 2024-3-11 19:55 | 显示全部楼层
触发断言失败,并输出相关信息是可以自定义的吧??
小小蚂蚁举千斤 发表于 2024-3-18 11:14 | 显示全部楼层
OKAKAKO 发表于 2024-3-11 19:55
触发断言失败,并输出相关信息是可以自定义的吧??

是可以自定义的,主要还是打印信息
小小蚂蚁举千斤 发表于 2024-3-18 11:15 | 显示全部楼层
断言函数还是比较适合系统信息的输出
小夏天的大西瓜 发表于 2024-3-19 15:15 | 显示全部楼层
断言函数一般用于信息打印输出
中国龙芯CDX 发表于 2024-3-21 15:03 | 显示全部楼层
断言用于在程序中检查特定条件是否满足,如果条件为假,会触发断言失败,并输出相关信息
jf101 发表于 2024-3-22 12:13 | 显示全部楼层
主要用于打印一下调试信息,做系统诊断输出的较多
 楼主| szt1993 发表于 2024-3-25 15:27 | 显示全部楼层
星辰大海不退缩 发表于 2024-3-11 08:39
断言函数主要是应用在那些方面呢?

其实主要是用在调试打印信息
您需要登录后才可以回帖 登录 | 注册

本版积分规则

350

主题

3021

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部