必威体育Betway必威体育官网
当前位置:首页 > IT技术

abort与assert

时间:2019-08-17 13:45:01来源:IT技术作者:seo实验室小编阅读:77次「手机版」
 

abort

void    abort(void);终止程序执行,直接从调用的地方跳出。

头文件#include <stdlib.h>

#include <stdio.h>
#include <stdlib.h>

int main ()
{
   FILE *fp;
   fp = fopen( "abort.txt","r" );//文件并不存在
   if(fp == NULL) 
       abort(); 
   fclose(fp);//程序执行不到这里   
   return(0);
}

assert是宏,不是函数。定义在<assert.h>中

void    assert(int expression);

先计算expression的值,如果为假,调用abort()终止程序。

#include <stdio.h>
#include <assert.h>

int main ()
{
   FILE *fp;
   fp = fopen( "abort.txt","r" );//文件并不存在 
   assert(fp != NULL);
   fclose(fp);//程序执行不到这里   
   return(0);
}

频繁调用assert会影响程序性能,一般调试所用。

调试完成后,可以在头文件<assert.h>前加入#define  NDEBUG,就可以忽略assert。

#include <stdio.h>
#define NDEBUG
#include <assert.h>

int main ()
{
   FILE *fp;
   fp = fopen( "abort.txt","r" );//文件并不存在 
   assert(fp != NULL);
   fclose(fp);   
   return(0);
}

相关阅读

junit 方法:assertEquals 和 assertTrue

assertEquals 和 assertTrue 区别 代码块 运行成功结果 assertEquals 运行失败后的错误提示 assertTrue 运行失败后的错误提示 总

PHP:ignore_user_abort()+set_time_limit(0)+sleep($in

最近由于项目需要定时更新远程数据库到本地,网上搜了搜,还真找到了。ignore_user_abort()函数搭配set_time_limit(0)和sleep($inter

GET http runtime.js net ERR_ABORTED 404 (Not Found

GET http runtime.js net ERR_ABORTED 404 (Not Found) 第一 把点去掉你应该就会发现 没错了第二 如果你一定要加点的话,看下图操

assert.h问题

NVIDIA面试笔试题之一:assert.h是c标准库的一个头文件,该头文件的主要目的就是提供一个assert的宏定义。assert只是对所给的表达式

jedis : NoSuchMethodError: org.springframework.uti

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'connectionFactory' defined in c

分享到:

栏目导航

推荐阅读

热门阅读