安全函数(后缀为_s)的参数检查和…

所有安全(后缀为_s)函数的首要任务是验证传给它们的参数值。要检查的项目包括指针不为NULL,整数在有效范围内,枚举值是有效的,而且缓冲区足以容纳结果数据。如果当中任何一项失败了,函数都会设置局部于线程的C运行时变量errno。然后,并返回一个errno_t值来指出成功或失败。然而这些函数并不实际返回。相反,如果是一次调试版(debug)构建,它会显示一个对用户不太友好的Debug Assertion Failed对话框。然后,终止程序执行,如果说发行版(release),则直接终止程序进行。

    安全函数(后缀为_s)的参数检查和_set_invalid_parameter_handler的使用


    C运行时实际上允许我们提供自己的函数,这样一来,在它检测到一个无效参数时,就会调用这个函数。然后在这个函数中,我们可以记录失败,附上一个调试器,或者做其它我们想做的事。为了启用这个功能,主要有以下步骤:

  1. 定义一个函数,原型如下:

    void InvalidParameterHandler(const wchar_t* expression,const wchar_t* function,

        const wchar_t* file,

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值