
C语言
精灵盘
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
编辑本段C语言函数realloc
函数简介 原型:extern void *realloc(void *mem_address, unsigned int newsize); 语法:指针名=(数据类型*)realloc(要改变内存大小的指针名,新的大小)。//新的大小一定要大于原来的大小不然的话会导致数据丢失! 头文件:#include stdlib.h> 有些编译器需要#include ,在TC转载 2012-04-27 23:50:06 · 671 阅读 · 0 评论 -
sem_init() 函数
sem_init 目录 头文件 函数原型 说明 返回值 错误 展开 头文件 函数原型 说明 返回值 错误 展开 编辑本段头文件 #include 编辑本段函数原型 int sem_init(sem_t *sem, int pshared, unsigned int value); 编辑本段说明 s转载 2012-09-23 09:33:49 · 2479 阅读 · 0 评论 -
sem_init函数
#include int sem_init(sem_t *sem, int pshared, unsigned int value); sem_init() 初始化一个定位在 sem 的匿名信号量。value 参数指定信号量的初始值。 pshared 参数指明信号量是由进程内线程共享,还是由进程之间共享。如果 pshared 的值为 0,那么信号量将被进程内的线程共享,转载 2012-09-23 09:36:36 · 2818 阅读 · 0 评论 -
关于删除元素的不安全性
关于删除元素的不安全性 为什么说调用list_del()删除元素有安全隐患?具体看源代码: static inline void __list_del(struct list_head * prev, struct list_head * next) { next->prev = prev; prev->next = next; } static inline void li转载 2013-03-21 23:01:17 · 778 阅读 · 0 评论 -
list_del 分析
Linux内核的双向链表是比较经典的东西,网上分析链表的同志基本分析了99%,就差了1%。那就是list_del函数。 先给出函数原型: #ifdef CONFIG_ILLEGAL_POINTER_VALUE # define POISON_POINTER_DELTA _AC(CONFIG_ILLEGAL_POINTER_VALUE, UL) #else # define POISON_转载 2013-03-21 23:05:58 · 2332 阅读 · 0 评论 -
list_del 分析2
bug提示无法请求0000000000200200地址所在的页,而问题出在list_del函数;分析list_del函数: 在内核中0xC0000000以下(内存为4G,高地址1G作为内核空间使用,低地址3G作为用户空间使用,此3G内核空间申请不到)的地址是不能申请到的,为了防止有的节点申请内存错误的时候也是NULL使用不可能被初始化的指针当作标记。而0x00200200 这转载 2013-03-21 23:10:50 · 947 阅读 · 0 评论