自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 驱动开发DAY7

【代码】驱动开发DAY7。

2023-09-18 21:45:30 49

原创 自动创建设备节点udev机制实现

4.创建存放设备节点信息的文件后,系统会自动在驱动发起一个hotplug event事件,用户空间存在一个进程hotplug,hotplug会被唤醒,hotplug通知udev进程,udev会去创建的向上提交的设备节点信息目录里查询设备节点相关信息。udevd守护程序收到uevent事件后,创建一个设备类,(向上提交目录信息),会在内核中申请一个struct class对象,并且初始化,然后会在根目录下/dev/class下创建一个文件夹,/dev/class/类名。功能:销毁设备节点信息。

2023-09-12 21:07:58 42

原创 ARM作业3

思维导图。

2023-08-16 21:17:05 13

原创 ARM 作业2

思维导图。

2023-08-15 20:54:19 11

原创 ARM 作业1

【代码】ARM 作业1。

2023-08-14 22:26:43 840

原创 C高级DAY4

二、shell脚本写一个函数获取用户的uid和gid并使用变量接收。三、整理冒泡排序、选择排序、快速排序的代码。

2023-08-08 00:15:20 56

原创 C高级DAY3

三、输入一个文件名,判断是否为shell脚本文件,如果是脚本文件判断是否有可执行权限,如果有可执行权限则运行文件,如果没有可执行权限则给文件添加可执行权限。六、输入学生成绩,判等级,A[100,90),B[90,80),C[80,70),D[70,60)七、写一个shell脚本,获取当前用户名,用户ID和工作路径。五、终端输入用户,判断用户是否存在,如果不存在则添加用户。八、统计/etc目录下以P或p开头的文件的个数。二、判断家目录下普通文件和目录文件的个数。四、终端输入两文件名,判断哪个文件更新。

2023-08-05 19:32:42 139

原创 C高级DAY2

递归实现,输入一个数,输出这个数的二进制c。递归实现,输入一个数,输出这个数的每一位。

2023-08-03 21:44:19 161

原创 C高级 DAY1

head tail 管道符 字体变色。

2023-08-02 22:03:41 172

原创 电子词典项目

【代码】电子词典项目。

2023-07-30 22:28:39 18

原创 QT DAY4

2.手动完成服务器的实现,并具体程序要注释清楚。

2023-07-29 00:45:05 406

原创 QT DAY3

【代码】QT DAY3。

2023-07-27 21:37:19 814

原创 QT DAY2

2.继续完善登录框,当登录成功时,关闭登录界面,跳转到新的界面中。

2023-07-26 22:38:17 305

原创 QT DAY1

【代码】QT DAY1。

2023-07-25 21:06:35 257

原创 C++ DAY7

【代码】C++ DAY7。

2023-07-24 21:06:07 11

原创 C++ DAY6

1.思维导图。

2023-07-24 00:54:52 7

原创 C++ DAY5

构造函数和析构函数调用顺序。

2023-07-20 22:12:44 7

原创 C++ DAY4

【代码】C++ DAY4。

2023-07-19 21:39:40 6

原创 C++ DAY3

思维导图。

2023-07-18 21:21:24 7

原创 C++day2作业

一、C++中的动态分配和回收。

2023-07-17 21:53:18 13

原创 项目流程图

2023-07-15 20:03:03 9

原创 C++作业

2023-07-14 23:44:45 9

原创 网络编程周日作业

1.广播发送方接收方2.组播发送方接收方3.多进程4.多线程5.上传下载。

2023-07-09 23:20:31 10

原创 网络编程作业day1

简述字节序的概念,并用指针方式,或者共用体(联合体)的方式计算本机是大端还是小端。

2023-07-04 20:35:41 12

原创 IOday6作业

8.多线程同步(无名变量)1.多个线程共享进程的资源。7.多线程互斥(互斥锁)3.多线程的资源回收。

2023-06-28 21:34:08 12

原创 IO day4作业

1.静态库2.动态库。

2023-06-26 21:05:35 7

原创 IO day3作业

6.使用read、write拷贝文件。11.多次使用open打开文件。3.使用O_EXCL创建文件。12.使用dup2实现拷贝。10.使用dup拷贝文件。8.对图片数据的读写。

2023-06-25 20:54:52 10

原创 IO端午作业

1.2.、

2023-06-25 01:53:12 8

原创 IO第一天作业

2.fgets、fputs文件拷贝。1.fgets统计行号。

2023-06-25 00:44:05 7

原创 【无标题】

说明:在程序执行前7秒是,只有父进程,并处于休眠状态,pid为:127343, 7秒后,执行fork时,会拷贝127343进程得到进程127346进程,此时,相当于a.out就有两个进程,这两个进程,同时执行while(1),此时,才会造成两个进程都处于运行态。进程的创建过程,是通过拷贝父进程得到的,进程在内核空间是通过task_struct结构体表述的,新进程在创建过程中,直接拷贝父进程的该结构体得到,只需要稍作修改即可,保留了父进程大部分的遗传信息,这个拷贝过程,被封装在fork函数中。

2023-05-31 02:32:05 49 1

原创 第二章,进程线程

动态体现在:在使用gcc编译时,会将你的文件和库文件的索引表一起生成一个可执行文件,程序的体积一般比较大,但是在执行程序的过程中,就需去找该库所在位置了,效率较低。静态体现在:在使用gcc编译时,会将你的文件和库文件一起生成一个可执行文件,在最终的可执行程序中,包含了静态库,程序的体积一般比较大,但是在执行程序的过程中,就无需去找该库所在位置了,效率较高。进程:进程是动态的,有生命周期,是程序的一次执行过程,每个进程拥有0--3G的用户空间,并且共享3--4G的内核空间。

2023-05-30 02:09:44 73

原创 I/O day3

使用变量拷贝文件描述符,其实只是拷贝变量的值,并没有产生新的文件描述符,只是在程序中多了一个变量,记录该文件描述符而已,所以无论操作哪个变量,都是对该文件描述符的操作,使用的是同一个光标。1> 文件描述符是一个大于等于0的非负整数,使用open打开一个文件后,就会返回该文件的描述符,在之后想要操作文件,只需通过该文件描述符即可。基于系统调用的方式,只要调用文件IO的接口,程序就会从用户空间向内核空间进行一次交互,效率相比于标准IO较低,原因是没有缓冲区。使用read、write实现两个文件的拷贝。

2023-05-26 23:09:23 117

原创 I/O day2 作业(接第一天)

2> 行缓存:跟终端相关的操作使用的是行缓存(stdin、stdout),其大小为1024字节。3> 不缓存:跟标准出错有关的操作是不缓存(stderr),其大小为0。3、当输入输出发生切换时,会刷新行缓存。5、手动刷新缓存区时,行缓存会进行刷新。3、当输入输出发生切换时,会刷新全缓存。4、当关闭文件指针时,也会刷新行缓存。6、当缓存区满了后,会自动刷新缓存区。4、当关闭文件指针时,也会刷新全缓存。6、当缓存区满了后,会自动刷新缓存区。5、手动刷新缓存区时,会刷新全缓存。2、程序结束后,自动刷新行缓存。

2023-05-25 22:36:05 168

原创 I/O 课程DAY1

3.系统提供的特殊文件指针:stdin(标准输入)、stdout(标准输出指针)、stderr(标准出错)在文件IO或标准IO相关接口被调用是,如果出错了,操作系统会给应用程序返回一个错误码,一共又4096,每一个代表不同的错误。1> IO的课程需要学习很多接口(函数),大概有100个左右,需要大家多记、多练,每天要完成思维导图绘制。2> 行缓存:跟终端相关的操作使用的是行缓存(stdin、stdout),其大小为1024字节。不同的系统,进入内核空间的方式是不同的,所以,接口函数有所不同。

2023-05-24 22:59:30 154

原创 数据结构 day5

1.双向链表按位置删除。2.双向链表按位置修改。3.双向链表按位置查找。4.双向循环链表头插。5.双向循环链表尾插。

2023-05-18 22:14:37 9

原创 day 4 链表

5.结点:存储数据元素和数据元素之间关系的构造类型。1.单向链表结点的创建。1.1单向链表的操作。

2023-05-17 22:05:16 18

原创 day3

数据:被计算识别、存储、处理的符号。【整数、小数、字符串、汉字、声音、图片、视频,文件,app等】数据元素:由数据项组成,是数据基本单位数据项:是数据的最小单位数据对象:由类型相同的数据元素组成数据> 数据对象>数据元素>数据项数据结构:存储数据元素之间一种或多种关系的集合D_S=(D,R)逻辑结构:表示一种或多种关系集合结构:数据元素之间没有关系【地铁上的人】线性结构:数据元素之间存在一对一的关系【地铁上的座位】头结点无前驱,尾结点无后继,其他结点唯一的前驱,唯一的后继树形结构:数据元素之间存在一对多的关

2023-05-16 23:31:12 11

原创 数据结构作业

char str[]="hello"//str全局 初始化 str空间在.data段,字符串hello在只读段,把只读段的值复制一份给str //可以通过str修改值。char *p="hello"//全局 初始化 p在.data段,字符串常量hello在ro段,指针p直接指向字符串常量的首地址 //不可以改变。//q在栈区,malloc申请4字节空间在堆区,通过指针q指向堆区空间的首地址。char *p="hello"//p在栈区,字符串hello在只读段,通过指针p指向只读段hello的首地址。

2023-05-16 01:12:57 23

原创 【无标题】

3> 指针指向函数时,通过p调用,表示通过函数首地址直接调用函数,*p调用,表示通过函数首地址取值,根据值调用函数,注意:***p这里面的*个数可以是任意的。void sum(int a,int b)//有参无返函数 void (*p)(int a,int b) -->void (*p)(int,int)int sum(int a,int b,float c)//有参有返函数 int (*p)(int ,int,float)函数名(参数变量名);

2023-05-12 01:21:38 15

原创 指针 作业

int arr[5];&arr[0]:数组第一个元素的地址arr:数组名表示数组的首地址,也就是第一个元素的地址arr=&arr[0]&arr:表示整个数组的首地址/p=arri<3;i++)//arr++:错误:数组的首地址arr表示常量//地址的等价关系:i<3;

2023-05-10 00:19:43 17

空空如也

空空如也

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

TA关注的人

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