上一页 1 2 3 4 5 6 7 8 ··· 10 下一页

2012年7月24日

排序

摘要: 1.直接插入排序待续 阅读全文

posted @ 2012-07-24 10:29 wolflion 阅读(141) 评论(5) 推荐(0) 编辑

2011年7月13日

FD_SET,FD_ISSET,FD_ZERO,select

摘要: FD_SET 打开类型fd_set的某一位FD_ZERO初始化fd_setFD_ISSET测试结构fd_set中的描述字直接到vc98/include的文件中查找他们就可以找到代码。select函数: 系统提供select函数来实现多路复用输入/输出模型。原型: #include <sys/time.h> #include <unistd.h> select函数: 系统提供select函数来实现多路复用输入/输出模型。原型: #include <sys/time.h> #include <unistd.h> int select(int maxf 阅读全文

posted @ 2011-07-13 14:36 wolflion 阅读(1904) 评论(1) 推荐(0) 编辑

fd_set 用法

摘要: select()函数主要是建立在fd_set类型的基础上的。fd_set(它比较重要所以先介绍一下)是一组文件描述字(fd)的集合,它用一位来表示一个fd(下面会仔细介绍),对于fd_set类型通过下面四个宏来操作:fd_set set;FD_ZERO(&set);FD_SET(fd, &set);FD_CLR(fd, &set);FD_ISSET(fd, &set);过去,一个fd_set通常只能包含<32的fd(文件描述字),因为fd_set其实只用了一个32位矢量来表示fd;现在,UNIX系统通常会在头文件<sys/select.h>中定 阅读全文

posted @ 2011-07-13 14:19 wolflion 阅读(1388) 评论(1) 推荐(0) 编辑

初步认识迭代服务器和并发服务器

摘要: 迭代服务器比较原始,它的原型可以描述成: while(1){new_fd =服务器accept客户端的连接(new_fd = accept(listenfd, XX, XX))逻辑处理在这个new_fd上给客户端发送消息关闭new_fd}也就是说,这个进程是一个一个处理各个客户端发来的连接的,比如一个客户端发来一个连接,那么只要它还没有完成自己的任务,那么它就一直会占用服务器的进程直到处理完毕后服务器关闭掉这个socket。并发服务器是最经常用的:1 while(1)2 {3 new_fd =服务器accept客户端的连接4 if(是子进程)5 {6 首先关闭掉监听fd // 因为子进程并不需 阅读全文

posted @ 2011-07-13 09:35 wolflion 阅读(2975) 评论(0) 推荐(1) 编辑

unix网络编程(第三版)中的unp.h

摘要: /* Our own header. Tabs are set for 4 spaces,not 8 */#ifndef __unp_h#define __unp_h#include "/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/config.h" /* configuration options for current OS */ /* "../config.h" is generated by configure *//* If anything changes in the following 阅读全文

posted @ 2011-07-13 09:15 wolflion 阅读(4064) 评论(0) 推荐(0) 编辑

2011年3月31日

可重入函数与不可重入函数

摘要: 转自:http://www.cppblog.com/franksunny/archive/2007/08/03/29269.html主要用于多任务环境中,一个可重入的函数简单来说就是可以被中断的函数,也就是说,可以在这个函数执行的任何时刻中断它,转入OS调度下去执行另外一段代码,而返回控制时不会出现什么错误;而不可重入的函数由于使用了一些系统资源,比如全局变量区,中断向量表等,所以它如果被中断的话,可能会出现问题,这类函数是不能运行在多任务环境下的。也可以这样理解,重入即表示重复进入,首先它意味着这个函数可以被中断,其次意味着它除了使用自己栈上的变量以外不依赖于任何环境(包括static),这 阅读全文

posted @ 2011-03-31 14:56 wolflion 阅读(170) 评论(0) 推荐(0) 编辑

gcc和g++的区别

摘要: gcc和g++都是GNU(组织)的一个编译器。误区一:gcc只能编译c代码,g++只能编译c++代码两者都可以,但是请注意:1.后缀为.c的,gcc把它当作是C程序,而g++当作是c++程序;后缀为.cpp的,两者都会认为是c++程序,注意,虽然c++是c的超集,但是两者对语法的要求是有区别的。C++的语法规则更加严谨一些。2.编译阶段,g++会调用gcc,对于c++代码,两者是等价的,但是因为gcc命令不能自动和C++程序使用的库联接,所以通常用g++来完成链接,为了统一起见,干脆编译/链接统统用g++了,这就给人一种错觉,好像cpp程序只能用g++似的。误区二:gcc不会定义__cplus 阅读全文

posted @ 2011-03-31 14:52 wolflion 阅读(146) 评论(0) 推荐(0) 编辑

Linux系统环境下的Socket编程详细解析

摘要: 来自:http://blog.163.com/jiangh_1982/blog/static/121950520082881457775/ 什么是Socket Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。 Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,就很容易了解Socket了。网络的Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符。Socket也具有一... 阅读全文

posted @ 2011-03-31 14:32 wolflion 阅读(398) 评论(0) 推荐(0) 编辑

2011年3月11日

configure svn server on win

摘要: 1.http://sourceforge.net/projects/win32svn/download subversion2.run后,从cmd模式下进入bin目录,如D:/Program Files/Subversion/bin>3.在这个目录下,执行svnadmin create D:/project_name/prj14.在project_name/conf/svnserve.conf把下面几行的注释去掉# anon-access = read# auth-access = write# password-db = passwd# realm = My First Reposit 阅读全文

posted @ 2011-03-11 11:45 wolflion 阅读(150) 评论(0) 推荐(0) 编辑

2011年1月20日

intel中的cr寄存器

摘要: //今天看UKL的时候看到CR寄存器控制寄存器(CR0、CR 1、CR2和CR3)用於控制和确定处理器的操作模式以及当前执行任务的特性。 CR0:中含有控制处理器操作模式和状态的系统控制标志; CR1:保留不用; CR2:含有导致页错误的線性位址。 CR3:中含有页目錄表实体记忆体基底位址,因此该寄存器 也被称为页目录基底位址寄存器PDBR(Page-Directory Base address R... 阅读全文

posted @ 2011-01-20 13:43 wolflion 阅读(1424) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 8 ··· 10 下一页

导航