博客统计信息

用户名:zhuwenlong615
文章数:12
评论数:13
访问量:119180
无忧币:20
博客积分:489
博客等级:1
注册日期:2007-08-06

我最近发表的评论

背景音乐

我的音乐

00:00 | 00:00

在网络程序中,一个进程同时处理多个文件描述符是很常见的情况。select()系统调用可以使进程检测同时等待的多个I/O设备,当没有设备准备好时,select()阻塞,其中任一设备准备好时,select()就返回。 select()的调用形式为: #include <sys/select.h> #include <sys/time.h> int select(int maxfd, fd_set *readfds, fd_set *writefds, fe_set *exceptfds, const struct timeval *timeout); select的第一个参数是文件描述符集中要被检测的比特数,这个值必须至少比待检测的最大文件描述符大1;参数readf..
类别:未分类|阅读(4673)|回复(0)|(0)阅读全文>>
1. 如果在已经处于 ESTABLISHED状态下的socket(一般由端口号和标志符区分)调用
closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:
BOOL bReuseaddr=TRUE;
setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&amp;bReuseaddr,sizeof(BOOL));
2. 如果要已经处于连接状态的soket在调用closesocket后强制关闭,不经历
TIME_WAIT的过程:
BOOL bDontLinger = FALSE;
setsockopt(s,SOL_SOCKET,SO_DONTLINGER,(const char*)&amp;bDontLinger,sizeof(BOOL));
3.在send(),recv()过程中有时..
类别:未分类|阅读(4039)|回复(0)|(0)阅读全文>>
2007-10-10 14:05:41
类别:未分类|阅读(98)|回复(0)|(0)阅读全文>>
2007-09-05 15:21:47
abs(计算整型数的绝对值) 相关函数 labs, fabs
表头文件 #include<stdlib.h>
定义函数 int abs (int j)
函数说明 abs()用来计算参数j的绝对值,然后将结果返回。
返回值 返回参数j的绝对值结果。
范例 #ingclude <stdlib.h>
main(){
int ansert;
answer = abs(-12);
printf("|-12| = %d\n", answer);
}
执行 |-12| = 12
 


acos(取反余弦函数数值) 相关函数 asin , atan , atan2 , cos , sin , tan
表头文件 #include <math.h>
定义函数 double acos (dou..
类别:未分类|阅读(6193)|回复(1)|(1)阅读全文>>
2007-08-31 20:59:28
  读函数read 
ssize_t read(int fd,void *buf,size_t nbyte)  read函数是负责从fd中读取内容.成功时,read返回实际所读的字节数,如果返回的值是0,表示已经读到文件的结束了. 小于0表示出现了错误.如果错误为EINTR说明读是由中断引起的, 如果是ECONNREST表示网络连接出了问题. 写函数write 
ssize_t write(int fd,const void *buf,size_t nbytes)
write函数将buf中的nbytes字节内容写入文件描述符fd.成功时返回写的字节数.失败时返回-1. 并设置errno变..
类别:未分类|阅读(6666)|回复(0)|(0)阅读全文>>
2007-08-30 16:47:02
Linux下的多线程编程 作者:姚继锋 2001-08-11 09:05:00 来自:[url]http://www.china-pub.com[/url] 1 引言
  线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多线程技术已经被许多操作系统所支持,包括Windows/NT,当然,也包括Linux。
  为什么有了进程的概念后,还要再引入线程呢?使用多线程到底有哪些好处?什么的系统应该选用..
类别:未分类|阅读(1219)|回复(0)|(0)阅读全文>>
linux下C语言多线程编程实例

学东西,往往实例才是最让人感兴趣的,老是学基础理论,不动手,感觉没有成就感,呵呵。

下面先来一个实例。我们通过创建两个线程来实现对一个数的递加。
或许这个实例没有实际运用的价值,但是稍微改动一下,我们就可以用到其他地方去拉。

下面是我们的代码:
/*thread_example.c : c multiple thread programming in linux *author : falcon *E-mail : tunzhj03@st.lzu.edu.cn */ #include <pthread.h> #include <stdio.h> #include <sys/time.h> #include..
类别:未分类|阅读(17008)|回复(6)|(2)阅读全文>>
2007-08-28 19:19:05
找了林锐博士写的《高质量C/C++编程》中的内存管理给你参考,我觉得还可以,看了多遍了,希望对你有所帮助。

内存管理
    欢迎进入内存这片雷区。伟大的Bill Gates 曾经失言:
640K ought to be enough for everybody
— Bill Gates 1981
程序员们经常编写内存管理程序,往往提心吊胆。如果不想触雷,唯一的解决办法就是发现所有潜伏的地雷并且排除它们,躲是躲不了的。本章的内容比一般教科书的要深入得多,读者需细心阅读,做到真正地通晓内存管理。
7.1内存分配方式
内存分配方式有三种:
(1) ..
类别:未分类|阅读(850)|回复(1)|(1)阅读全文>>
2007-08-28 16:08:06
time()函数的用法
    我想有很多人都在用date()函数来获取时间,然后在数据库中,使用datetime格式来储存,这个方法不是说比用time()函数差,只不过在PHP中使用time函数获得的是Unix时间戳,这个是很精确的时间,关于Unix时间戳,大概是这个意思,从1970年0时0分0秒开始到现在的秒数.使用它来获得的是一个INT值,储存在数据库里只要使用INT格式就可以了,方便数据库进行排序,搜索,而且比datetime格式更节省数据库空间。所以我建议大家使用time函数来获得时间。
     那么如何来使用time函数呢.下面我给个例..
类别:未分类|阅读(7426)|回复(1)|(0)阅读全文>>
2007-08-27 19:11:06

    system()函数功能强大,很多人用却对它的原理知之甚少先看linux版system函数的源码:


#include <sys/types.h>
#include <sys/wait.h>
#include <errno.h>
#include <unistd.h>

int system(const char * cmdstring)

{
    pid_t pid;
    int status;

    if(cmdstring == NULL){
          
         return (1);
&..
类别:未分类|阅读(18819)|回复(3)|(0)阅读全文>>
2007-08-09 19:38:31
atof(将字符串转换成浮点型数)
相关函数
atoi,atol,strtod,
表头文件
#include
定义函数
double atof(const char *nptr);
函数说明
atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分,如123.456或123e-2。
返回值
返回转换后的浮点型数。
附加说明
atof()与使用strtod(nptr,(char**)NULL)结果相同。
范例
/* 将字符串a 与字符串b转换成数字后相加*/
#include
main()..
类别:未分类|阅读(6113)|回复(0)|(0)阅读全文>>
2007-08-09 18:09:01
long int strtol(const char *nptr,char **endptr,int base);
这个函数会将参数nptr字符串根据参数base来转换成长整型数。    参数base范围从2至36,或0。参数base代表采用的进制方式,    如base值为10则采用10进制,若base值为16则采用16进制等。    当base值为0时则是采用10进制做转换,但遇到如’0x’前置    字符则会使用16进制做转换、遇到’0’前置字符而不是’0x’    的时候会使用8进制做转换。一开始strtol()会扫描参数nptr    字符串,跳过前面的空格字符,..
类别:未分类|阅读(8526)|回复(1)|(0)阅读全文>>

公告