自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (5)
  • 收藏
  • 关注

转载 select、Poll、epoll比较。

<br />前天的笔试有一道题是:请分别说明select, poll和epoll的区别?<br />当时看题时懵掉了,因为这个题是那次讲课时我问的老师的题目,老师这个太八神说这个太难了你不用钻牛角尖的。这下好了,这次考到了,而且是在公司笔试。。咳,这个太八神呀。。!好吧,今天找了下资料把它们的区别罗列一下,好像还是有一点抽象,不过还好,钻一下,悟出了那么一点点……。现在把网上找到的资料转一下咯。。<br />一下文章来自:http://blog.chinaunix.net/u/10449/showart_3

2010-06-17 14:37:00 4376

转载 Unix5中IO模型的图解分析和比较。

Unix下共有五种I/O模型阻塞I/O非阻塞I/OI/O复用(select和poll)信号驱动I/O(SIGIO)异步I/O(Posix.1的aio_系列函数)b.阻塞I/O模型 应用程序调用一个IO函数,导致应用程序阻塞,等待数据准备好。 如果数据没有准备好,一直等待。。。。 数据准备好了,从内核拷贝到用户空间 IO函数返回成功指示c.非阻塞I/O模型 我们把一个套接口设置为非阻塞就是告诉内核,当所请求的I/O操作无法完成时,不要将进程睡眠,而是返回一个错误。这样我们的I/O操作函数将不断的测试数据是否已

2010-06-17 13:06:00 1400

转载 Linux建立使用限制及getrlimit和setrlimit函数

<br />这一部分的提出是为了防止失控的进程破坏系统的性能<br />nuix和Linux跟踪进程使用的大部分资源,允许用户和系统管理员使用对进程的资源限制<br /> 设置的限制有两种: 硬限制和软限制<br />硬限制是可以在任何时候任何进程中设置  但硬限制只能由超级用户提起<br />软限制是内核实际执行的限制,任何进程都可以将软限制设置为任意小于等于对进程限制的硬限制的值<br />———————以下内容为转载(突然发现这方面有好资源便直接引用了)—————————<br />getrlimit

2010-06-17 11:48:00 1244

转载 bzero ,memset ,setmem,bcopy和memcpy、bzero和memset、bcmp和memcmp的差别

<br />=================================================<br />bzero<br />原型:<br />extern void bzero(void *s, int n);<br />用法:<br />#include <br />功能:置字节字符串s的前n个字节为零。<br />说明:bzero无返回值。<br />举例: // bzero.c<br />view plainprint?<br />1. #include <br />2. #inc

2010-06-17 10:32:00 1018

转载 memset与memcpy函数使用详细说明。

1。void *memset(void *s,int c,size_t n)<br />总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c。<br /><br />2。例子<br />#i nclude<br />#i nclude<br /><br />main(){<br />char *s="Golden Global View";<br /><br />clrscr();<br /><br />memset(s,'G',6);<br />printf("%s",s);<br /><br

2010-06-17 10:27:00 668

转载 Linux系统调用--fcntl函数详解

<br />功能描述:根据文件描述词来操作文件的特性。 <br />  <br />用法:   <br />int fcntl(int fd, int cmd); <br />int fcntl(int fd, int cmd, long arg); <br />int fcntl(int fd, int cmd, struct flock *lock); <br />  <br />  <br />参数:   <br />fd:文件描述词。 <br />cmd:操作命令。 <br />arg:供命令使用的

2010-06-17 10:00:00 480

转载 getchar()和EOF总结

<br />大师级经典的著作,要字斟句酌的去读,去理解。以前在看K&R的The C Programming Language(SecondEdition)<br />第1.5节的字符输入/输出,被getchar()和EOF所迷惑了。可能主要还是由于没有搞清楚getchar()的工作原理和EOF的用法。因此,感觉很有必要总结一下,不然,很多琐碎的知识点长时间过后就会淡忘的,只有写下来才是最好的方法。<br /><br /><br />其实,getchar()最典型的程序也就几行代码而已。本人所用的环境是Deb

2010-06-17 09:59:00 447

原创 getch函数位于头文件conio.h定义。

<br />getch函数位于头文件conio.h定义。<br /> <br />输入时不回显。

2010-06-13 21:21:00 1473

转载 accept函数.

<br />accept函数<br />SOCKET accept( <br />SOCKET s, <br />struct sockaddr FAR *addr, <br />int FAR *addrlen <br />); <br />服务程序调用accept函数从处于监听状态的流套接字s的客户连接请求队列中取出排在最前的一个客户请求,并且创建一个新的套接字来与客户套接字创建连接通道,如果连接成功,就返回新创建的套接字的描述符,以后与客户套接字交换数据的是新创建的套接字;如果失败就返回 INVALI

2010-06-13 18:44:00 553

转载 epoll使用实例说明。

<br />下面我们就看一个服务器端使用epoll监听大量并发链接的例子。<br /> <br />1、epoll_create函数<br /><br />/** <br /> * @brief    该函数生成一个epoll专用的文件描述符。它其实是在内核申请一空间,用来存放你想关注的socket fd上是否发生以及发生了什么事件。<br /> * <br /> * @param    size    size就是你在这个epoll fd上能关注的最大socket fd数<br /> * <br /> *

2010-06-13 18:33:00 849

转载 Size_t数据类型。

<br />size_t是一种无符号的整型数,它的取值没有负数,在数组中也用不到负数,而它的取值范围是整型数的双倍。sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型。该类型保证能容纳实现所建立的最大对象的字节大小。<br />size_t: size of an object<br />ssize_t: size of an object or –1<br />time_t: time of day in seconds<br />off_t: 文件偏移

2010-06-13 18:30:00 810

转载 socket通信中的几个函数--accept(),send(),recv()。

<br />accept()函数<br /> accept()会有点古怪的地方的!你可以想象发生这样的事情:有人从很远的地方通过一个你在侦听   (listen())的端口连接(connect())到你的机器。它的连接将加入到等待接受(accept())的队列中。你调用accept()告诉它你有空闲的连接。它将返回一个新的套接字文件描述符!这样你就有两个套接字了,原来的一个还在侦听你的那个端口,新的在准备发送   (send())和接收(recv())数据。这就是这个过程!   <br /><br />函数

2010-06-13 18:30:00 4220

转载 getopt()函数用法.

getopt用法有关系统调用getopt:声明:         #include          int getopt(int argc, char *const argv[], const char *optstring);         extern char *optarg;         extern int optind, opterr, optopt;使用方法:在while循环中反复调用,直到它返回-1。每当找到一个有效的选项字母,它就返回这个字母。如果选项有参数,就设置optarg指向

2010-06-13 18:25:00 1946

转载 listen函数.

摘要:listen函数使用主动连接套接口变为被连接套接口,使得一个进程可以接受其它进程的请求,从而成为一个服务器进程。在TCP服务器编程中listen函数把进程变为一个服务器,并指定相应的套接字变为被动连接。listen函数在一般在调用bind之后-调用accept之前调用,它的函数原型是:#includeint listen(int sockfd, int backlog)返回:0──成功, -1──失败 参数sockfd 被listen函数作用的套接字,sockfd之前由socket函数返回。在被soc

2010-06-13 18:23:00 4264 5

转载 tail queue in queue.h for free bsd.

tail queue in queue.h for free bsd2009-09-27 14:1738 /*67 * A tail queue is headed by a pair of pointers, one to the head of the   68 * list and the other to the tail of the list. The elements are doubly   69 * linked so that an arbitrary element can be re

2010-06-13 18:16:00 1108

转载 Linux queue.h之TAILQ队列分析!

这两天想看看memcached的实现,所以先学习了libevent,使用起来还是比较简单的,其实是对select/poll/kqueue等的封装,学习libevent过程中又遇到了linux下队列的使用,简单分析如下,权当做记录: libevent中的例子中使用的是FreeBSD下的queue.h,在linux的/usr/include/sys/queue.h也有该头文件,但是是一个缩减版本,而且没有看到queue 的access method,不知道是不是跟我们的linux服务器版本有关,没办法googl

2010-06-13 18:13:00 4773 5

tracefs文件系统跟踪

tracefs是linux下的一个工具,用于跟踪linux文件系统的操作,主要用于文件系统的分析、改进、统计、安全操作、入侵检测等场合。这里是源代码,供广大爱好者学习、分析使用。

2009-07-22

linux 命令详解

几乎所有的Linux命令都包括在其中 chm格式教程

2009-04-04

gtk2.0教程,内容详细,中文版

gtk2.0教程,pdf 中文版 内容详细,有历例程可供参考

2009-04-04

讲解了c99的全部内容,英文版的

讲解了c99的全部内容,英文版的 pdf

2009-04-04

masm32v8完整版

里面有大量的例子,安装时最好安装在分区的根目录下,最关键的三个目录是 x:\masm32\bin,x:\masm32\lib, 以及 x:\masm32\include

2008-08-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除