- 博客(3)
- 收藏
- 关注
原创 关于double free的一点点思考
double free就是程序分配一块内存之后,经过使用将这块内存释放,但并没有将指向这块内存的所有指针抹零或回收,并在其他部分再次将指向同一块内存单元的指针交给内存分配器去进行释放操作。 经常看到类似 if (p) free(p); 的写法,目的是为了防止double free, 但是防止double free的关键不是在释放内存前判断指针是不是为空。 请看以下代码:#i
2013-06-17 20:49:55 4738 1
原创 查找字符串中第一个只出现一次的字符
/*扫描一次字符串*/int FindFirstNoRepeatingChar(char* str){ int iLen, i; int apperNum[256] = {0}; int apperPos[256] = {0}; int ret; iLen = (int)strlen(str); ret = iLen; memset(apperPos,
2013-06-04 21:04:59 656
原创 C语言通过宏定位内存问题
#define DEBUG#ifdef DEBUG#define pmalloc(size) fmalloc(size, __FILE__, __LINE__)#define pfree(p) ffree(p, __FILE__, __LINE__)#else#define pmalloc(size) malloc(size)#define pfree(p) free(
2013-05-20 22:25:27 525
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人