上一页 1 ··· 73 74 75 76 77 78 79 80 81 ··· 103 下一页
摘要: 优点:1 空间存储方便,现用现申请2 插入删除,只针对单一数据,不需要移动大量数据缺点:1读取,插入,删除慢,需要从头查找,时间复杂度均为O(n)数据结构声明typedef struct Node{ int data; struct Node * next;}Node;int main(){ ... Node *p = (Node *)malloc(sizeof(Node)); p->data = 1; ... }链表读取指定位置的元素void getNode(Node *L,int n,Node *tar){ int i=1; Node *p; ... 阅读全文
posted @ 2014-01-26 16:00 xingoo 阅读(526) 评论(0) 推荐(0)
摘要: 电科院 北京 电子科学研究院 2所 太原 西北电子装备技术研究所 3所 北京 电视电声研究所 7所 广州 广州通信研究所 8所 淮南 安徽光纤光缆传输技术研究所 9所 绵阳 西南应用磁学研究所 10所 成都 西南电子技术研究所 11所 北京 华北光电技术研究所 12所 北京 北京真空电子技术研究所 13所 石家庄 河北半导体研究所 14所 南京 南京电子技术研究所 15所 北京 华北计算技术研究所 16所 合肥 合肥低温电子研究所 18所 天津 天津电源研究所 20所 西安 西安导航技术研... 阅读全文
posted @ 2014-01-26 13:46 xingoo 阅读(11037) 评论(0) 推荐(0)
摘要: 顺序存储优点:1 不用额外增加新的节点空间2 可以快速读取任意位置的元素顺序存储缺点:1 插入和删除需要移动大量元素2 长度变化较大时,难以估计长度3 存储空间碎片化读取时,时间复杂度为O(1);插入或删除时,时间复杂度为O(n);实例代码 1 /*Edit by Xhalo*/ 2 #include 3 #include 4 5 #define MAXSIZE 20 6 7 typedef struct seqList{ 8 int data[MAXSIZE]; 9 int length;10 }SL;11 12 13 int initElem(SL *L,int l... 阅读全文
posted @ 2014-01-25 15:03 xingoo 阅读(675) 评论(0) 推荐(0)
摘要: 守护进程:1 系统启动时,由系统初始化脚本启动。一般在/etc目录下,或者以/etc/rc开头的目录2 许多网络服务器由inetd超级服务器启动3 cron守护进程按规则定期执行一些程序4 用at命令指定在将来的某一时刻执行程序。守护进程输出消息,syslog函数,消息发往syslogd守护进程syslogd守护进程:1 读入配置文件,通常是/etc/syslog.conf。设定守护进程对接收每次键入的各种等级消息的处理。2 创建一个unix域套接口,捆绑路径名/var/run/log3 创建一个UDP套接口,给它捆绑端口5144 打开路径名/dev/klog,内核中的所有出错消息作为这个设备 阅读全文
posted @ 2014-01-24 17:18 xingoo 阅读(912) 评论(0) 推荐(0)
摘要: IPV4 TCP客户与IPV6服务器之间的通信:1 启动IPV6服务器,创建套接监听口,绑定通配地址2 IPV4调用gethostbyname找到该服务器对应的A记录3 调用connect,向服务器发送一个IPV4的SYN4 服务器设置标志,表明是IPV4映射的IPV6地址,相应一个IPV4的SYN/ACK5 所有通信使用IPV4IPV6 TCP客户与IPV4服务器之间通信:1 创建IPV4监听套接口2 IPV6客户启动,调用gethostbyname询问IPV6地址3 调用connect,在相应IPV6套接口地址结构中存放所得的IPV4映射的IPV6。内核检查到这个映射地址,自动向服务器发送 阅读全文
posted @ 2014-01-23 11:29 xingoo 阅读(778) 评论(0) 推荐(0)
摘要: DNS中的资源记录RR resource recordAAAAAPTRMXCNAME名字和数值地址间的转换:gethostbyname() gethostbyaddr()服务名字和端口号之间的转换: getservbyname() getservbyport()解析器代码读 依赖于 配置文件,文件/etc/resolv.conf一般包含本地名字服务器IP地址。DNS替代方法:静态主机文件,/etc/hosts或者网络信息系统NIS。struct hostent{ char * h_name; char * * h_aliases; int h_addrtype; int... 阅读全文
posted @ 2014-01-22 14:37 xingoo 阅读(890) 评论(0) 推荐(0)
摘要: 常用的UDP实现的程序:DNS域名系统,NFS网络文件系统,SNMP简单网络管理协议ssize_t recvfrom(int sockfd,void *buff,size_t nbytes,int flags,struct sockaddr * from,socklen_t *addrlen);ssize_t sendto(int sockfd,void *buff,size_t nbytes,int flags,struct sockaddr * to,socklen_t addrlen);sockfd:描述字buff:缓冲区指针nbytes 读写字节数UDP服务器端int main(int 阅读全文
posted @ 2014-01-21 12:55 xingoo 阅读(1798) 评论(0) 推荐(0)
摘要: getsockopt()setsockopt()optval中的返回值,0表示选项关闭,1表示选项打开SO_BROADCAST套接口选项:能或禁止进程发送广播消息的能力。防止进程在应用程序未设计完成能广播时就发送广播信息。SO_DEBUG套接口选项:内核对TCP在此套接口所发送和接受的所有分组跟踪详细信息。SO_DONTROUTE套接口选项:规定发出的分组将旁路底层协议的正常路由机制。对于IPV4,分组指向本地接口SO_ERROR套接口选项:当套接口上发生错误时,内核通过下面两种方式通知进程:1 进程阻塞于select调用,select返回并设置其中的一个或者两个条件2 进程使用驱动IO模型, 阅读全文
posted @ 2014-01-20 13:22 xingoo 阅读(720) 评论(0) 推荐(0)
摘要: I/O复用的场合:1 客户处理多个描述字时2 客户处理多个套接口3 服务器处理监听套接口,又要处理已连接套接口4 既处理TCP,又处理UDP5 处理多个服务或者多个协议套接口上的输入操作:1 数据到达网络,分组到达时,被拷贝到内核的某个缓冲区2 将数据从内核缓冲区拷贝到应用缓冲区非阻塞模型,应用进程连续不断的查询内核,看看某操作是否准备好。这对CPU时间是极大的浪费。I/O复用,调用select或pool,调用某一个阻塞通过系统调用sigaction安装信号处理程序,当数据准备好时,就生成一个SIGIO信号,调用recvfrom读取数据报异步IO模型:调用函数aio_read传递给内核相关信息 阅读全文
posted @ 2014-01-19 12:23 xingoo 阅读(734) 评论(0) 推荐(0)
摘要: 1 僵尸进程2 信号处理信号:1 由一进程发往另一进程2 由内核发往某进程僵尸状态:父进程取回子进程的相关信息,进程的ID,终止状态,子进程的资源利用信息编程时:1 当派生子进程时,必须捕获信号SIGCHLD2 当捕获信号时,必须处理被中断的系统调用3 SIGCHLD的信号处理程序必须正确编写,使用函数waitpid以免留下僵尸进程 1 int main(int argc,char **argv){ 2 int listenfd,connfd; 3 pid_t childpid; 4 socklen_t clilen; 5 struct sockaddr_in cliaddr,servaddr 阅读全文
posted @ 2014-01-18 17:31 xingoo 阅读(380) 评论(0) 推荐(0)
上一页 1 ··· 73 74 75 76 77 78 79 80 81 ··· 103 下一页