- 博客(15)
- 资源 (5)
- 收藏
- 关注
转载 socket shutdown和close的区别
socket关闭连接的方法有两种分别是shutdown和close。1)shutdown的定义:#includeint shutdown(int sockfd,int how);how的方式有三种分别是:SHUT_RD(0):关闭sockfd上的读功能,此选项将不允许sockfd进行读操作。SHUT_WR(1):关闭sockfd的写功能,此选项将不允许sockfd进行写操作。
2012-12-24 21:48:21 9976 2
原创 获取结构体中的字段偏移量或结构体地址
获取一个结构体中的某字段的偏移量,linux的内核代码中是这样定义实现的:offset = (unsigned long)(&((type*)0))->member); 其中type就是结构体类型,member即某字段名。这里简单的说明一下这句代码的意思,本来(type*)0就是一个空指针,使用空指针引用成员肯定会造成段错误,但是重点就是前门的&这个符号,&符号表示我们只是取那个字
2012-12-23 18:57:00 4284 1
原创 exit,return,_exit3者的区别
1、exit(),作用是关闭所有文件,终止正在执行的程序,定义在stdlib.h中。 exit(1)表示异常退出.这个1是返回给操作系统的不过在DOS好像不需要这个返回值 exit(x)(x不为0)都表示异常退出 exit(0)表示正常退出 用 法: void exit(int status); 参 数 : status //程序退出的返回值. 2、re
2012-12-21 23:01:03 1294
转载 ipmsg学习笔记4—信号量和互斥量2
转载:http://blog.csdn.net/ray1944/article/details/4057902关键字:PTHREAD_MUTEX_INITIALIZER, pthread摘要:关于posix的互斥锁的使用由于semaphore功能强大,对于一些较简单的应用,posix定义了专门用于线程同步的mutex函数。1、创建和销毁有两种方式:静态和动态静态:pthre
2012-12-19 22:22:10 760
原创 ipmsg学习笔记4—信号量和互斥锁1
信号量和互斥锁的区别信号量用在多线程多任务同步的,一个线程完成了某一个动作就通过信号量告诉别的线程,别的线程再进行某些动作(大家都在sem_wait的时候,就阻塞在那里)。而互斥锁是用在多线程多任务互斥的,一个线程占用了某一个资源,那么别的线程就无法访问,直到这个线程unlock,其他的线程才开始可以利用这个资源。比如对全局变量的访问,有时要加锁,操作完了再解锁。有的时候锁和信号量会同时使用的
2012-12-12 23:47:38 753 1
转载 Linux下后台守护进程的编写实例
转载:http://zhoulifa.bokee.com/4627106.htmlLinux下后台守护进程的编写实例关键词:Linux 守护 后台 daemon 进程 相信随着Linux的普及,大家都在写不少Linux下的程序了,尤其是一些服务端程序慢慢地都转到Linux下了吧。大家必然碰到问题是如何让自己的进程成为守护进程,在系统启动的时候
2012-12-08 10:36:09 1463
转载 http协议C语言编程实现
转载:http://zhoulifa.bokee.com/4640913.htmlHTTP协议的C语言编程实现实例关键词:http 客户端 RFC2616 协议 下载 大家都很熟悉HTTP协议的应用,因为每天都在网络上浏览着不少东西,也都知道是HTTP协议是相当简单的。每次用到FlashGet之类的下载软件下载网页,当用到那个“用FlashGet下载全部链接”时总觉得很神奇。后来想
2012-12-08 10:32:54 12638
转载 http协议详解
转载:http://blog.csdn.net/gueter/article/details/1524447引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(N
2012-12-08 10:18:33 1008
原创 ipmsg学习笔记3—多线程2
Linux下的多线程遵循POSIX接口,称为pthread。需要pthread.h头文件。3、线程的状态在任何一个时间点上,线程是可结合的(joinable),或者是分离的(detached)。一个可结合的线程能够被其他线程收回其资源和杀死;在被其他线程回收之前,它的存储器资源(如栈)是不释放的。相反,一个分离的线程是不能被其他线程回收或杀死的,它的存储器资源在它终止时由系统自动释放。
2012-12-08 10:01:27 506
原创 ipmsg学习笔记3—多线程1
Linux下的多线程遵循POSIX接口,称为pthread。需要pthread.h头文件。1、创建线程的函数int pthread_create(pthread_t *restrict tidp,const pthread_attr_t *restrict attr,void *(*start_rtn)(void), void *restrict arg);若成功则返回0,
2012-12-08 09:59:48 595
原创 ipmsg学习笔记2—信号量
信号量介绍(需要头文件#include )1、int sem_init(sem_t *sem, int pshared, unsigned int value);说明:sem_init() 初始化一个定位在 sem 的匿名信号量。value 参数指定信号量的初始值;pshared 参数指明信号量是由进程内线程共享,还是由进程之间共享,如果 pshared 的值为 0,那么信号量将被进程
2012-12-06 00:04:03 659
转载 Linux Unicode 编程
转载:http://blog.chinaunix.net/uid-8735300-id-2016833.htmlLinux Unicode 编程作为一个计算机的多位字符表示系统,Unicode 支持世界上所有语言的编码和转换。这篇文章说明了 Linux 应用程序中的国际语言支持的重要性,以及规划 Unicode 支持并将之结合到 Linux 应用程序中去的思想。Unic
2012-12-05 23:26:42 472
原创 ipmsg学习笔记1—系统用户信息
获取系统信息,用户信息,路径1)int uname(struct utsname *sysName);需要头文件sys/utsname.h,获取当前内核名称和其他信息,比如操作系统名,网络明等。 struct utsname { char sysname[_UTSNAME_SYSNAME_LENGTH];//当前操作系统名 char nodename[_UTSNAME_NO
2012-12-05 23:14:18 688
转载 解析C语言中的sizeof
转载:http://blog.csdn.net/absurd/article/details/624384解析C语言中的sizeof一、sizeof的概念 sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。它并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。
2012-12-03 23:43:30 406
原创 C文件操作函数
ANSI C中对于文件的操作方式有两种,一种是基于流的方式,另外一种就是基于I/O的方式。1、基于流的方式有一个重要的数据结构,定义在stdio.h中typedef struct {int level; /* fill/empty level of buffer */unsigned flags; /* File status flags */char fd; /* F
2012-12-02 15:59:53 610
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人