自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 网络编程笔记

因为需要考虑连接时丢包的问题,如果只握手2次,第二次握手时如果服务端发给客户端的确认报文段丢失,此时服务端已经准备好了收发数(可以理解服务端已经连接成功)据,而客户端一直没收到服务端的确认报文,所以客户端就不知道服务端是否已经准备好了(可以理解为客户端未连接成功),这种情况下客户端不会给服务端发数据,也会忽略服务端发过来的数据。第二次握手:服务端收到客户端发过来的报文后,发现SYN=1,知道这是一个连接请求,于是将客户端的起始序列号100存起来,并且随机生成一个服务端的起始序列号(比如是300)。

2023-09-11 19:03:16 50

原创 通过信号控制两个进程进行通信(共享内存)

先把读端用pause这个函数挂起,用kill这个函数给写端发送信号(用getpid获取读端进程号,再用共享内存把进程号发个写端),当写端写完时发送一个信号给读端,pause收到信号会结束挂起状态,读端就会运行。相关函数pause()函数是用于将调用进程挂起直到收到信号为止发送信号给进程或进程组信号安装。

2023-08-30 19:59:47 91 1

原创 用有名信号量实现共享内存的同步

思路:创建两个有名信号量,其中一个初始化为1,另一个初始化为0;当进行写操作让初始化为1的信号量进行P操作,初始化为0的信号量进行V操作,进行读操作正好相反。

2023-08-30 19:43:03 104 1

原创 进程与线程

程是程序的一次动态执行过程,包括创建、调度、消亡最简单的方式就是管道,管道的本质是存放在内存中的特殊的文件。也就是说,内核在内存中开辟了一个缓冲区,这个缓冲区与管道文件相关联,对管道文件的操作,被内核转换成对这块缓冲区的操作。管道分为无名管道和有名管道,无名管道只能在父子进程之间进行通信,而有名管道没有限制。优点:易于实现和使用,适用于具有亲缘关系的进程之间的通信。缺点:只能用于单向通信,无法进行双向通信;只能传输一些简单的数据类型。

2023-08-30 19:16:48 46 1

原创 IO的笔记

d:目录文件:普通文件c:字符设备文件b:块设备文件l:链接文件p:管道文件s:套接字文件文本文件:存储的是ASCII码(0~127),以EOF-1)作为结束符。一般存储数据量比较大的信息,读取的速度慢二进制文件:是数据在内存上的原样存储,存储的是二进制的形式。一般存储中间变量,数据量比较小的信息,读取的速度快带缓冲区的操作:(标准IO)高级的文件操作,系统会自动的在内存上给我们分配缓冲区。不带缓冲区的操作:(文件IO。

2023-08-22 21:59:10 19 1

原创 数据结构笔记

数据:现实生活中一切可以处理的信息结构:逻辑结构、存储结构研究的是数据的逻辑结构,存储结构及其操作。事物与事物之间在现实生活中的抽象的一种逻辑关系 顺序存储:在逻辑上相邻的元素,在物理空间上也相邻优点:查找方便,存储空间的利用率可以达到1缺点:插入和删除不方便,申请空间的时候,必须是一片连续的空间,对空间的要求比较高会用空间碎片的产生链式存储:在逻辑上相邻的元素,在物理空间上不一定相邻优点:插入元素不需要移动大量的空间对空间的要求没那么大,缺点:查找不方便存储空间的利用率不足1,没有顺序存储

2023-08-22 21:30:06 26 1

原创 快排的实现

快排:取第一个元素的值为哨兵,比哨兵小的放到哨兵的左边,大的放到右边,再把左边的进行一次快排,右边的也进行一次快排,一直循环次过程,一直到排序完成,采用递归思想。给定一组数,用快排的思想排序。

2023-08-22 20:10:12 44 1

原创 一个简单的登录验证系统

本程序管理员账户已写死,如果想要更改管理员,把管理员的信息存到文件中,注册管理员账户,就要定义一个管理员结构体类型的数组,用来存放管理员 用户信息。注意管理员登录的条件是用户名是管理员的用户名,如果有3个管理员,就要判断输入的用户名是不是这三个其中一个。由于自身能力有限,主模式下只有用户注册功能,用户登录功能,管理员登录,管理员模式下有用户注册功能,用户删除功能,查看用户功能,用户查找功能,用户密码修改功能。2.验证管理员的用户名和密码,验证通过有使用权限。1.有两种登录方式,管理员和普通用户。

2023-08-22 19:57:57 224 1

原创 sell编程

判断用户的主目录下是否有file-dir或者dir-dir 录如果这两个目录存在,询问用户是否删除这两个目录,2.请用户输入一个路径,将这个路径下的文件拷贝到file-dir将这个路径下的目录拷贝到dir-dir.如果用户输入的是Y,将这两个目录删除,重新创建这两个目录如果用户输入的是N,退出程序。如果上述的两个目录不存在,创建这两个目录。3.统计拷贝的文件和目录的个数。

2023-08-07 20:24:47 31

原创 对结构体的应用与Makefile多文件编译

下面的文件都是在同一个目录下创建;

2023-08-07 20:11:15 66

原创 LinuxC总结二

Makefile预定义变量包含了常见编译器,汇编器的名称及其编译选项CC C编译器的名称,默认为ccCFLAGS C编译的选项,无默认值RM 文件删除程序的名称,默认值为rm -f递归展示方式简单展开方式//定义一个指向int的指针int * pi;(int)//定义一个指向int的指針的指針int ** ppi;(int *)//定义一个指向char的指针char * pc;(char)//定义一个指向数组的指针,该数组是一个长度为5的int的数组。

2023-08-07 19:44:23 39

原创 LinuxC总结一

嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于对功能、可靠 性、成本、体积、功耗有严格要求的专用计算机系统。shell:命令行解释器,用户和内核之间的桥梁shell也是一个程序,提供给了我们一个界面,(终端)IP地址:在网络中,IP地址是主机的唯一标识,由网络地址+主机地址 32位的二进制 ------->点分十进制("192.168.12.78")网络地址部分全为1,主机地址部分全为0 (c类子网掩码 255.255.255.0)

2023-08-07 18:48:18 139

原创 C基础阶段总结

(x):(y))(7).下面程序的运行结果是__10_______

2023-07-27 19:58:46 38

空空如也

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

TA关注的人

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