- 博客(6)
- 资源 (6)
- 收藏
- 关注
原创 c++ primer 学习笔记(1)
第一章 快速入门 1、main函数的返回值是一个状态指示器,通常非零返回值表明有错误出现,正常的返回值:0 2、常用的编译器是GUN编译器和微软Visual Studio编译器 GUN:g++ g++ prog1.cc -o prog1 Visual Studio 编译器:c1 -GX prog1.cpp 3、./a.out 是指运行当前目录下a.out 4、标准库iost
2013-11-25 09:24:31 450
原创 ZigBee osal_mem_alloc()
空闲空间被分成块。每个块的起始存放着自己的大小和是否被使用的标志。 分配内存的时候根据对齐调整后的size,到不同的内存区域去分配。把当前块的大小和需要分配的size比较,不够就把后面块的空间也算进来。直到可以分配。( do while循环) 分配完之后,如果得到空间大小和size的差值比较大,浪费了一些,就把浪费的空间也做成块。 返回给应用程序前hdr++,表示把大小和使用标志
2013-10-17 09:24:43 2276 2
原创 【笔记】信号量集
信号量集,主要作用是保证共享内存的使用不发生冲突。信号量(semaphore)实际是一个整数,它的值由多个进程进行测试(test)和设置(set)。就每个进程所关心的测试和设置操作而言,这两个操作是不可中断的,或称“原子”操作,即一旦开始直到两个操作全部完成。测试和设置操作的结果是:信号量的当前值和设置值相加,其和或者是正或者为负。根据测试和设置操作的结果,一个进程可能必须睡眠,直到有另一个进程改
2013-09-27 09:53:35 762 1
原创 【笔记】共享内存
Linux内存管理机制中,内核对内存的管理是以页(page)为单位的,一般一个page大小是4k。而程序本身的虚拟地址空间是线性的,所以内核管理了进程从虚拟地址空间到起对应的页的映射。创建共享内存空间后,内核将不同进程虚拟地址的映射到同一个页面:所以在不同进程中,对共享内存所在的内存地址的访问最终都被映射到同一页面。图三显示了内存共享的映射机制。 图三内存共享的映射机制
2013-09-27 09:49:40 541
原创 【笔记】服务器设计应该注意的地方
(1)服务器在用fork创建子进程后,父进程要关闭accept出来的新socket。因为fork以后,子进程是父进程的一个复制品,它们都有监听套接字和连接套接字。如果父进程不关闭连接套接字,当子进程关闭连接字时,这个套接字并不会关闭,因为每个套接字描述符都有一个“引用计数”,当fork函数返回后,套接字的引用计数变为2,而系统只有在描述符的“引用计数”为0时,才真正关闭该描述符。 (2
2013-09-27 09:31:57 581
原创 【面试题】递归二叉树
给一个数字串,比如12259,映射到字母数组,比如,1 -> a, 2-> b,... , 12 -> l ,... 26-> z。那么,12259 -> lyi 或 abbei 或 lbei 或 abyi。输入一个数字串,判断是否能转换成字符串,如果能,则打印所以有可能的转换成的字符串。 参考答案1:http://codepad.org/3OptZJ53(不流氓的阿飞) 参考答案2:待续
2013-09-27 09:00:10 507
AODV算法C语言实现
2011-04-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人