assert宏的原型定义在<assert.h>中,其作用是如果它的条件返回错误,则终止程序的执行。
原型定义:
#include<assert.h>
void assert(int expression);
assert函数的作用就是对expression判断,若为假,即为0,则向stderr打印错误信息,并通过abort函数来终止程序的运行
应用:在HEVC测试模型中有如此语句
assert( m_iPicWidth == pcPicYuvDst->getWidth() );//判断缓冲区的YUV的宽是否等于原始YUV的宽,不相等则终止程序的运行
assert( m_iPicHeight == pcPicYuvDst->getHeight() );//判断缓冲区的YUV的高是否等于原始YUV的高,不相等则终止程序的运行
该函数的缺点:频繁调用会极大影响程序的性能,增加额外的开销,调试结束后可将其删除。
用法总结:
1)在函数开始处检验传入参数的合法性
2)每个assert函数只检验一个条件
3)assert和后面的语句和后面空一行