- 博客(44)
- 收藏
- 关注
原创 linux file结构体与inode结构体
21.当进程调用 close(fd) 时,内核会根据文件描述符查找对应的 struct file 实例,释放与之关联的资源,并将文件描述符表中相应的条目清空。24.每个打开的文件都有唯一的文件描述符,并且在内核中有对应的 struct file 实例,内核通过这个结构体来管理文件的状态和I/O操作。13.例如,如果进程用文件描述符 3 来打开一个文件,进程的文件描述符表中的第 3 个条目会指向对应的 struct file 实例。每个进程有一个文件描述符表,其中存储了所有打开文件的描述符。
2024-10-21 19:49:57 978
原创 SPI总线的传输速度高于IIC的核心原因
而I²C的标准速度为100kHz(标准模式)、400kHz(快速模式)和3.4MHz(高速模式),最高速度较低,限制了数据的传输速率。3.协议开销较小:SPI的通信协议较为简单,只有几条信号线(MOSI、MISO、SCLK、CS),数据包的结构也较为简单,没有额外的应答和数据确认过程。综上所述,SPI通过其全双工通信、较高的时钟速度、简单的协议、有效的数据传输方式以及更高效的总线管理,能够实现比I²C更高的传输速度。因此,SPI适合需要快速数据传输的应用,而I²C则适合于较简单的、需要多设备连接的场合。
2024-10-11 11:44:50 197
原创 异常----中断
异常向量表(Exception Vector Table)是一个存储在内存中的数据结构,用于处理各种类型的异常和中断。在ARM架构中,异常向量表的设计为系统提供了一种机制,以响应硬件和软件异常(如中断、陷阱、错误等)。3.保存上下文:CPU保存当前程序的状态(上下文),包括程序计数器(PC)和寄存器状态,以便中断处理完成后能够恢复。7.中断使能/禁用:可以通过设置控制寄存器来使能或禁用特定的中断,以避免中断干扰关键的操作。6.恢复上下文:中断处理完成后,CPU恢复之前保存的上下文,继续执行被中断的程序。
2024-10-10 17:30:03 623
原创 day2 QT
将登录按钮使用qt4版本的连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否为"admin",密码是否为"123456",如果账号密码匹配成功,则输出“登录成功”,并关闭该界面,如果匹配失败,则输出登录失败,并将密码框中的内容清空。使用手动连接,将登录框中的取消按钮使用第2种方式的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数。
2024-09-09 19:34:31 382
原创 day6 C++
在这个场景中,我们可以将动物比作是不同的类,而每种动物表演则是类中的函数。而讲解员则是一个基类,他可以根据每种动物的特点和表演,进行相应的介绍。想象一下你去了一家动物园,看到了许多不同种类的动物,如狮子、大象、猴子等。现在,动物园里有一位讲解员,他会为每种动物表演做简单的介绍。定义一个基类 Animal,其中有一个虛函数perform(),用于在子类中实现不同的表演行为。比喻:动物园的讲解员和动物表演。
2024-09-04 20:07:00 419
原创 day5 C++
(5)另外, RMB 类还包含一个静态整型成员变量 count,用于记录当前已创建的 RMB 对象的数量。每当创建一个新的 RMB 对象时,count 应该自增 1;(1)重载算术运算符 + 和 -,使得可以对两个 RMB 对象进行加法和减法运算,并返回一个新的 RMB 对象作为结果。(2)重载关系运算符 >,判断一个 RMB 对象是否大于另一个 RMB 对象,并返回 true 或 false。(3)重载前置减减运算符 --,使得每次调用时 RMB 对象的 yuan、jiao 和 fen 分别减 1。
2024-09-03 19:38:50 279
原创 day30 IPC
第一题:由于共享内存没有同步,想办法搞定共享内存的同步问题第二题:使用第一题作用已经实现的共享内存,去做2个终端之间的互相聊天。
2024-08-14 21:04:10 256
原创 day28
同样由于仓库有限,仓库里面最多存放10个苹果或者20个橘子。由于仓库有限:生产了橘子之后,就不能生产苹果,反之同理。编写代码验证递归锁和错误检查锁的功能。4#每2秒消费5个橘子。4#每2秒消费5个橘子。1#每秒生产1个苹果。2#每秒生产2个橘子。3#没秒消费3个苹果。1#每秒生产1个苹果。2#每秒生产2个橘子。3#没秒消费3个苹果。
2024-08-12 22:43:47 165
原创 day27 多线程编译
第一题:创建2个线程,1#线程:负责通过文件IO向文件中写入数据2#线程:负责从该文件中读取数据使用互斥锁实现:一定是先写入数据,再读取数据第二题:创建5个线程,使用互斥锁安排这5个线程同步运行:123451234512345…第三题有2条隧道,一条快速隧道,一条普通隧道。有5列火车,3列复兴号,2列绿皮扭扭车要求,复兴号2条隧道都能走,绿皮车只能走普通隧道模拟火车过隧道的场景。
2024-08-09 21:23:14 286
原创 day25 IO
第一题:使用read函数读取一个文件中的所有内容使用printf函数将读取到的内容,输出到终端 以及 写入另一个文件中第二题:使用stat函数判断一个文件是否拥有 用户可写、同组人可写、其他组人可写权限如果同时拥有上述3个权限,则关闭上述3个权限(使用chmod函数,自己查看man手册并使用,很简单的一个函数),如果上述3个权限有缺少,则补全权限。
2024-08-07 21:23:15 191
原创 8.3 数据结构总结
逻辑结构:集合结构、线性结构、树形结构、图型结构存储结构:线性存储、链式存储、索引存储、散列存储数据根据元素之间的关系不同,可以分为线性结构和非线性结构。
2024-08-03 09:52:51 242
原创 day19 双向链表
思维导图作业i) 完成双向链表的创建、判空、申请节点封装数据、头插、遍历ii) 任意位置插入(插入是否是最后一个位置,需要思考不同情景)iii) 如果有时间,可以继续写任意位置删除以及销毁。
2024-07-29 20:06:05 201
原创 day17顺序表
i) 独立完成今天顺序表的创建、判空、判满、增加、遍历、任意位置插入数据。(要求:尽量每行代码都有注释)ii) 完成顺序表的任意位置删除数据功能函数的封装。1.存放学生的信息。
2024-07-25 21:23:36 214
原创 7.25课堂笔记
数据结构是计算机科学中的一个核心概念,它指的是数据在计算机中的组织、管理和存储的方式。数据结构是相互之间存在一种或多种特定关系的数据元素的集合,它研究的是数据的逻辑结构和数据的物理结构以及它们之间的相互关系。精心选择的数据结构可以带来更高的运行或存储效率,使得程序的设计更加健壮、高效,同时也便于程序的开发和维护。数据结构包含三个方面的内容:数据的逻辑结构、数据的存储结构和数据的操作。图(Graph):由顶点(节点)集合和边集合组成,边可以是有向的也可以是无向的,用于表示顶点之间的复杂关系。
2024-07-25 21:03:07 310
原创 day15
在堆区申请两个长度为32的空间,实现两个字符串的比较【非函数实现】1> 定义函数,在对区申请空间两个申请,主函数需要调用2次2> 定义函数,实现字符串的输入3> 调用函数实现字符串比较,在主函数中输出大小4> 定义函数,释放空间。
2024-07-23 20:46:51 227
原创 day11 shell脚本
指针通过解引用(使用*操作符)来访问它所指向的内存位置的值。数组名在大多数情况下代表数组的首地址(即第一个元素的地址),但在表达式中会被转换为指向数组首元素的指针。x的值为9999,二进制形式为0010 0111 0000 1111一共有8个1,x&(x-1)按位与操作,1&1为1,其他都为0,实质就是将二进制所以的1不断转为0的过程,8个1,需要8步,固countx=8。(1)str[0]的字符数组大小为10,要存字符串的话最多只能存9个字符,结尾存’\0’,而*str1为10个字符的字符串,固错误。
2024-07-16 20:51:17 203
原创 day7 函数
1.在主函数定义两个字符串并输入,在自定义函数实现字符串比较。2.在主函数定义一个字符串,在自定义函数中实现字符冒泡排序。3.在主函数定义两个字符串,在自定义函数中实现字符串拷贝。int:表示返回s1-s2的ASCII差。s1,s2表示两个字符串。
2024-07-09 20:01:38 223
原创 2024/7/8 day6
1.输入一个字符串,实现空格的删除2.输入一个字符串计算单词的个数eg: “good good study” —>3个单词3.定义一个字符串并初始化"this is book"判断is的个数4.输入一个字符串,实现单词的逆置。
2024-07-08 20:46:35 222
原创 day5
2.使用switch实现等级判断,90-100A 80-89B 70-79C 0-69D 其他错误。3.穷举算法:“鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?1.输入m行n列,计算最大值和最小值。
2024-07-05 21:13:09 241
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人