摘要:
rbtree 1 /*----------------------------------------------------------- 2 RB-Tree的插入和删除操作的实现算法 3 参考资料: 4 1) <<Introduction to algorithm>> 5 2) [url]http://lxr.linux.no/linux/lib/rbtree.c[/url] 6 作者:[url]http://www.cppblog.com/converse/[/url] 7 您可以自由的传播,修改这份代码,转载处请注明原作者 8 红黑树的几个性质: 9 ... 阅读全文
摘要:
Zeromq基本模型http://www.searchtb.com/2012/08/zeromq-primer.htmlhttp://www.kuqin.com/algorithm/20120813/328769.html1.Request-reply模式说明:步调一致的同步请求应答模式,发送request之后必须等待reply才能继续发送request;Client端 一般先send request 后 receive reply;server端 一般先 receive request后 send reply。该模式的简单使用例程 流程如下:Start Start Client send t 阅读全文
摘要:
fedora安装编译时需要用的程序yum install gccyum install gcc-c++yum install makeyum install uuid-develyum install libuuid-devel 1.下载 posix版: http://www.zeromq.org/intro:get-the-software 2.安装 tar -zxvf zeromq-3.2.0-rc1.tar.gz cd zeromq-3.2.0./configure //选择安装路径可以(./configure --prefix=/data/zeromq)makemake install 阅读全文
摘要:
一.gcc 在编译时如何去寻找所需要的头文件:1.所以header file的搜寻会从-I开始2.然后找gcc的环境变量 C_INCLUDE_PATH,CPLUS_INCLUDE_PATH,OBJC_INCLUDE_PATH3.再找内定目录/usr/include/usr/local/include/usr/lib/gcc-lib/i386-linux/2.95.2/include/usr/lib/gcc-lib/i386-linux/2.95.2/http://www.cnblogs.com/http://www.cnblogs.com/include/g++-3/usr/lib/gcc-l 阅读全文
摘要:
通信编程的基本结构 创建上下文 void* context = zmq_ctx_new(); 创建socket void* mySocket = zmq_socket(context,SOCKET_TYPE); 绑定或者连接socket zmq_bind(mySocket,Address); zmq_connect(mySocket,Address); 定义消息 zmq_msg_t myMessage; 初始化消息 zmq_msg_init; zmq_msg_init_size; zmq_msg_init_data; 各种初始化,参照官方文档 发送消息 或者接受消息 zmq_msg_send; 阅读全文
摘要:
zmq 中 router和dealer的通信router: 可以根据路由地址,将信息发送给特定的socket(可能有很多个socket链接到同一个端口)dealer端:在发送要接受消息前要利用setsocketopt设置其socket的identity(在路由看来identity就是地址)router端:发送消息的时候,要显示的发送消息的地址帧(identity),然后在发送数据帧,注意此时在zmq中地址帧和数据帧合起来才是一则消息。Dealer端:显示接受消息中的数据帧就行了,内部会把router发送来的地址帧作相应的处理,不用程序员处理,是透明的。dealer: 设置identity(也可 阅读全文
摘要:
第一步:下载内核源码 例:linux-3.6.2.tar.bz2第二步:tar -jxvf linux-3.6.2.tar.bz2 -C /usr/src/kernels //将内核源码文件解压至 /usr/src/kernels第三步:make mrproper //保持内核干净第四步:make menuconfig //挑选内核功能,比较复杂,详细可参看《鸟哥的linux私房菜P756》第五步:make cleanmake bzImage //编译内核 make modules //再编译模块第六步:make modules_install //安装模块第七步:cp /usr/src/ke 阅读全文
摘要:
第一步:启动BIOS(在内存中,非易失),纯硬件动作。第二步:利用BIOS载入可启动设备的MBR的boot loader(即是grub,spfdisk),boot loader认识该操作系统的文件系统第三步:利用boot loader从硬盘中加载内核(系统安装在硬盘上,bootloader 认识硬盘系统,因此它可以加载硬盘的数据)第四步:内核开始加载各种模块.注意如果硬盘的驱动程序没有被编译进内核,而是编译成模块。就会有问题。因为内核如果没有驱动模块的支持,它就不认得设备,就无法读取数据,即无法取得模块。解决方式:额外创建一个可执行文件,该文件一般放在/boot/initrd中,boot lo 阅读全文
摘要:
函数原型:int open(const char *path,int oflags,mode_t mode); 返回打开文件的描述符,失败返回-1; 参数: const char * path: 打开文件的路径(文件名) int oflags: 打开文件的方式(具有什么样操作方式) mode_t mode:当以创建方式(O_CREAT)打开文件时,设置文件的权限与mask取and 阅读全文
摘要:
写makefile需要考虑的方面: 1.目标和依赖关系:hash.o:de_hash.c de_hash.h common.h //目标是hash.o,依赖于文件de_hash.c de_hash.h common.h,当这三个文件有变化时将重新生成目标 需要考虑的问题:makefile如何找到依赖文件? 设置VPATH=./:../include 从当前文件和../include中找依赖文件 2.生成目标的规则(编译)gcc -c de_hash.c //编译de_hash.c文件 需要考虑的问题:如果de_hase.c中用到了头文件,gcc如何找到头文件? 指定 -I ./ -I .... 阅读全文