C语言
文章平均质量分 87
C 语言相关知识
smilejiasmile
这个作者很懒,什么都没留下…
展开
-
简洁版即时聊天---I/O多路复用使用
一、基于select接口+有名管道的I/O 多路复用 1、注意提示点: 1、基于客户端以及服务器两端的使用 2 、对于有名管道,须注意有名管道的链接顺序,否则,可能发生死锁,或链接不成功。 3、学会sel原创 2017-07-13 09:02:23 · 354 阅读 · 0 评论 -
基于套接字SOCKET的及时聊天
一、基于select的I/O多路复用以及tcp和udp的即时聊天 1、基于tcp协议 头文件: #include #include #include #include #include #include #include #include #include 服务器端: #include"func.h" //传递两个参数,一个IP地址,一个端口号 int原创 2017-07-17 00:18:57 · 481 阅读 · 0 评论 -
简 易 版 的 进 程 池 模 型 学 习
简 易 版 的 进 程 池 模 型 学 习 1、进程池流程 父进程流程 第一步: make_child 初始化子进程 循环创建子进程,并初始化父进程的子进程管理结构体数组 child, 通过 socket_pair 将 socket描述符一端放入数组 子进程流程 recv_fd 等待父进程发送任务 send_file 发送原创 2017-07-17 10:20:14 · 360 阅读 · 0 评论 -
简 易 版 线 程 池 模 型 学 习
简 易 版 线 程 池 模 型 学 习 1、简易版线程池流程1.初始化线程池1、初始化队列, 队列头, 队列尾初始化, 队列能力初始化( 队列长度),队列锁 初始化线程池条件变量,给子线程赋入口函数,为线程池的子线程的线程 ID 申请空间,线程池是否启动标志初始化为 02.启动线程池 循环启动子线程, 设置线程池启动标志设置为 13.主线程启动 listen, 接收客户端请求 加锁,原创 2017-07-17 13:17:47 · 316 阅读 · 1 评论 -
C语言基础笔记
1、--,++,&等运算符比指针运算符优先级高 2、函数memset,包含在string.h头文件中,memset(void *s,int ch,size_t n); 用于新申请的内存做初始化工作。eg:memset(pp, 0, sizeof(int) * 26); 赋值 0; eg;void fun(cha r *tt,int pp[]) {//注意这部分不懂,学原创 2017-07-09 16:03:38 · 297 阅读 · 1 评论 -
C语言基础笔记3
1、全局变量的有效区并不是整个文件中,而是从定义该全局变量处开始。 2、在局部栈空间定义的变量,一旦加上static后,其存储空间就变成了常量区的静态数据区了,其作用范围,近似 全局变量,并且,如果不初始化,程序会自动赋0。如果赋值则只会赋值一次。下一次变回记住第一次的赋值。 3、static修饰全局变量是,不让全局变量被其他文件借用,或修改。即加了权限设置。同理,对于函数来说,也原创 2017-07-09 16:06:06 · 276 阅读 · 0 评论 -
C语言基础笔记2
1、逻辑运算符: 短路运算(eg: a||printf("error")) 可以少写一个if,或者导出异常。2、位运算操作符: 高效利用内存,用每一位去代表是实际的意义,按位异或^, 非0数与0异或= 本身 1234^0=1234 1234^1234= 0 本身异或 3、左右移:>原创 2017-07-09 16:05:23 · 256 阅读 · 0 评论