1.assert宏的定义
#define assert(e) ((void)((e) || _assert_error(__FILE__, __LINE__)))
库里面对这个宏做了这样的定义,当宏参数(或表达式)e为真的时候由||运算符的运算规则会执行_assert_error(__FILE__, __LINE__)从而打印一条报警信息。所以整个表达...
分类:
其他好文 时间:
2014-10-16 02:32:39
阅读次数:
209
1. 使用未分配成功的内存 解决案: ①在使用内存前检查指针是否为NULL ②参数是指针时,在函数入口处用assert进行判断 ③如果指针指向动态申请的内存,用if进行容错处理2. 使用分配成功,但未初始化的内存 解决案: ①定义数组后一定要初始化3. 内存泄漏 解决案: ...
分类:
编程语言 时间:
2014-10-15 18:35:40
阅读次数:
152
问题:1. “对于高健壮性的代码,应该先断言再进行错误处理”---《代码大全》P193。为什么不直接用错误处理呢?先断言再进行错误处理和直接进行错误处理的效果不是一样的么?2. 完全填充分配到的所有内存,这样可以让你检查到内存分配错误。完全填充已分配到的所有文件和流,这样可以让你排查出文件格式错误。...
分类:
其他好文 时间:
2014-10-15 15:41:10
阅读次数:
202
概述 “聊天剽窃手”Windseeker是一款间谍软件,它使用了ptrace进程注入技术,能够对微信和QQ的聊天记录进行监控。 软件安装后的桌面图标和启动界面如图所示: 行为分析该应用首先获取手机root权限,将assert目录下的inject_appso、libcall.so...
分类:
其他好文 时间:
2014-10-14 03:49:22
阅读次数:
276
http://blog.csdn.net/dongyonggan/article/details/5780979用法:ASSERT(表达式)如果为假,ASSERT会产生一个EASSERTIONFAiled异常,显示为Assertion Failed (C:/src/unit1.pas, [size=...
assert宏的原型定义在中,其作用是假设它的条件返回错误,则终止程序运行,原型定义:#include void assert( int expression );assert的作用是现计算表达式 expression ,假设其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 ...
分类:
其他好文 时间:
2014-10-12 14:50:08
阅读次数:
133
转自:http://lavasoft.blog.51cto.com/62575/43735/Java陷阱之assert关键字一、概述在C和C++语言中都有assert关键,表示断言。在Java中,同样也有assert关键字,表示断言,用法和含义都差不多。二、语法在Java中,assert关键字是从J...
分类:
编程语言 时间:
2014-10-11 19:21:06
阅读次数:
212
assert宏的原型定义在中,其作用是假设它的条件返回错误,则终止程序运行,原型定义:#include void assert( int expression );assert的作用是现计算表达式 expression ,假设其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 ...
分类:
其他好文 时间:
2014-10-10 11:50:34
阅读次数:
201
我最近在调试一个dll时,出现了一个莫名的断言错误,就是在主程序中创建由MFC 扩展DLL导出的一个控件(该控件继承自CWnd类)时,一调用Create()函数就出现下面的的断言错误:
调试跟进去:
file:afxwin1.inl
line:21
发现是下面的断言语句报错:
_AFXWIN_INLINE HINSTANCE AFXAPI AfxGetResource...
数组元素的结束符为'\0',串的结束符为NULL
一、strlen
#include
using namespace std;
long h_strlen(constchar*str){
assert(str!=NULL);
const char *s = str;
while (*s++);
return (s - str - 1);
}...
分类:
其他好文 时间:
2014-10-09 02:55:07
阅读次数:
190