查看: 2138|回复: 3

[其他] 每天解决一个问题33天 :KSDK1.2库中的assert

[复制链接]
  • TA的每日心情
    开心
    2018-7-23 21:04
  • 签到天数: 103 天

    连续签到: 1 天

    [LV.6]常住居民II

    228

    主题

    5379

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    16809
    最后登录
    1970-1-1
    发表于 2015-9-26 21:40:39 | 显示全部楼层 |阅读模式
    今天给大家分享一下assert的作用。

    ====================================================

    一、问题描述:
    在学习KSDK1.2库函数时,发现很多地方使用了assert这个东西。
    3995.jpg
    那么它到底是干什么的?有什么用处呢?

    二、解决办法:
    当然还是要查阅资料学习一下:
    1、assert,又名断言,首先assert是个宏,不是一个函数。它在assert.h中声明定义。
    2、其作用是在程序运行时它计算括号内的表达式,如果表达式为FALSE(0), 程序将报告错误,并终止执行。如果表达式不为0,则继续执行后面的语句。

    3、它的通常用途:
    (1)在函数开始处检验传入参数的合法性 。

    (2)使用断言捕捉不应该发生的非法情况。
    4、比如上面的,assert(pin < 32);
    就是判断一下输入给函数的参数pin是否小于32,因为我们使用的芯片的Port端口每个最多32个引脚,如果写程序时,传过来的参数大于32,那肯定是错误的。

    三、感想与收获:
    1、其实assert这个宏定义还是挺有用的,以前写程序很少用,以后要学着使用。
    2、ASSERT只有在Debug工程中才有效,如果编译为Release工程则被忽略。


    我知道答案 目前已有3人回答
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2025-5-7 09:07
  • 签到天数: 353 天

    连续签到: 1 天

    [LV.8]以坛为家I

    141

    主题

    8056

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5786
    最后登录
    2025-5-7
    发表于 2015-9-26 21:44:42 | 显示全部楼层
    学习
    154120hhw0q0e0hpw374yw.png

    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-9 14:16
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    25

    主题

    1785

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2250
    最后登录
    2024-6-11
    发表于 2015-9-26 23:00:07 | 显示全部楼层
    学习了,谢谢分享
    freescaleic.org.png
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-11-5 18:45
  • 签到天数: 158 天

    连续签到: 1 天

    [LV.7]常住居民III

    26

    主题

    669

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1724
    最后登录
    2020-11-5
    发表于 2015-9-26 23:04:41 | 显示全部楼层
    谢谢分享!

    fsce.png
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-8-23 03:01 , Processed in 0.086310 second(s), 25 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表