自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【AIOT项目讲解-开源-省创-毕设】分布式智慧蜂箱

这是个人的毕设项目,也是省创、校创的项目包含物联网部分、图像处理部分的讲解和演示。

2024-02-25 21:01:42 1413

原创 系统移植 & 字符设备驱动开发

注释:各个文件的功能解析- bin:命令文件(通过busybox工具制作)- dev:设备文件(被操作系统识别的设备才有对应的文件,即设备运行时)- etc:配置文件(配置内核相关的一些信息)- lib:库文件,比如C的标准库(从交叉编译工具链中复制的)- linuxrc:根文件系统被挂载后运行的第一个程序(通过busybox工具制作)- mnt:共享目录(非必要),比如挂载SD卡等时将SD卡挂载在该目录- proc:与进程相关的文件(当有进程运行时才会有文件)

2023-11-18 16:43:06 186 1

原创 7.【进程间 通信方式】

每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信机制。26)SIGALRM:闹钟信号,alarm函数设置定时,当到设定的时间时,内核会向进程发送此信号结束进程。1)只写方式,写阻塞,一直到另一个进程把读打开。2)只读方式,读阻塞,一直到另一个进程把写打开。3)当管道中无数据,关闭写端,读立即返回。

2023-09-09 21:44:16 98

原创 6.【多线程 任务同步】

当有一个线程 在对内存进行操作时,其他线程都不可以对这个内存地址进行操作,直到该线程完成操作, 其他线程才能对该内存地址进行操作,而其他线程又处于等待状态。是指两个或两个以上的进程/线程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。5. 互斥量本质上是一把锁,加锁后 其他 试图加锁的线程 将被阻塞,直到 当前线程 释放锁。6. 如果多个线程 在释放互斥锁, 只有一个线程可以重新获取锁并继续推进,其他进程被阻塞。2. 每个临界资源都由一个互斥锁来保护。

2023-09-09 21:42:41 87

原创 5.【线程】

线程ID (TID)、PC(程序计数器)和相关寄存器、堆栈、错误号 (errno)、信号掩码和优先级、执行状态和属性。可执行的指令、静态数据、进程中打开的文件描述符、信号处理函数、当前工作目录、用户ID、用户组ID。都为操作系统提供了并发执行能力。

2023-09-09 21:41:33 38

原创 4.【进程】

为了避免僵尸进程的出现,父进程通常需要调用wait()、waitpid()或类似的系统调用来等待子进程的终止并回收子进程的终止状态。如果父进程没有等待子进程的终止,或者一直没有调用相应的回收函数,那么子进程就会一直处于僵尸状态,占用系统的进程表项资源,直到父进程退出或显式地回收子进程。所以,尽管操作系统会在子进程终止时回收一些资源,但父进程仍然需要调用相应的函数来回收子进程的终止状态,以避免僵尸进程的产生。(不同的进程打开相同的文件,操作的是不同的文件指针,虽然是指向同个文件,但是各操作各的)

2023-09-09 21:41:02 36

原创 3.【多个IO知识点】

通俗来讲就是将用户写好的程序打包成一个整体,当其他模块或用户使用时,只需要有这个库文件就可以了,不需要源代码文件。linux下默认两者最多:能打开多少个文件:1024(最多打开1024个文件描述符)-3(默认打开的文件描述符)=1021。(3) 添加/etc/ld.so.conf.d/*.conf文件。不同应用程序如果调用相同的库,那么在内存里只需要有一份该共享库的实例。当加载动态库时,系统会默认从/lib或/usr/lib路径下查找库文件。lib是库的前缀,xxx库名 .so动态库的后缀。

2023-09-09 21:40:22 49

原创 2.【文件IO】【2-3天】

可读可写,文件不存在创建,存在清空O_RDWR|O_CREAT|O_TRUNC, 0666。3. 文件IO默认打开 三个文件描述符:0(标准输入),1(标准输 出),2(标准错误)系统中(posix)定义的一组用于输入输出的函数接口,属于低级IO。只写O_WRONLY|O_CREAT|O_TRUNC, 0666。1. 没有缓冲机制,每次调用都 会引起系统调用。进行操作,文件描述符是非负整数,依次分配。可读可写,文件不存在报错O_RDWR。可读可写,不存在创建、存在追加。只写,不存在创建、存在追加。

2023-09-09 21:39:41 40

原创 1.【标准IO】

标准IO 是C标准库中定义的一组 用于输入输出的函数接口,属于高级IO,有通用性。

2023-09-09 21:38:50 39

原创 0.2【面试题可能】

1. 标准IO与文件IO的区别?2. 动态库与静态库区别?3. 什么是孤儿进程?僵尸进程?4. 什么是守护进程?守护进程创建步骤?5. 进程与线程的区别6. 线程的同步?互斥?7. 实现同步机制的几种方式?8. 进程间通信方式?9. 无名管道有名管道区别10. 共享内存、信号灯集、消息队列步骤?函数?

2023-09-09 21:38:14 29

原创 0.1【练习题 + 其他知识点】

通过父子进程完成对文件的拷贝(cp),父进程从文件开始到文件的一半开始拷贝,子进程从文件的一半到文件末尾。信号灯集和消息队列,都有创建返回ID为0而不能正常使用的问题,是系统导致的。例:head -3 test.c -> ./a.out -3 test.c。4. 计算当前时间,转换成年月日、时分秒,time,localtime。1. 打开文件fopen,以a+的形式打开,循环往文件写内容。的基础上升级,能够以集合的形式,操作多个单体信号量。指的是:系统进程和应用进程等,进程之间通知的信号。

2023-09-09 21:37:39 1207

原创 0.【大纲 · 知识点】

此处为语雀内容卡片,点击链接查看:此处为语雀内容卡片,点击链接查看:此处为语雀内容卡片,点击链接查看:目录操作文件属性。

2023-09-09 21:36:46 31

原创 7.【排序 算法】

这样做完后,最后的元素会是最大的数。针对所有的元素重复以上的步骤,

2023-09-06 11:41:55 31

原创 6.【查找 算法】

从头到尾遍历一遍,耗时长、效率低。思想:每次进行分半,判断在。前提条件:数组中元素。

2023-09-06 11:40:54 29

原创 5.【图(保留 了解】

任意的两个元素都可能相关,即图中任一元素可以有若干个直接前驱和直接后继,属于网状结构类型。)是一种非线性数据结构。

2023-09-06 11:40:15 35

原创 4.2【二叉树】

指向左子结点的指针(Lchild结点存储的数据指向右子结点的指针(Rchildint data;// 数据域// 左子指针// 右子指针} BTN, *BT;

2023-09-06 11:39:40 73 1

原创 4.1【普通有序树】

一对多,每个结点最多有一个前驱,但可以有多个后继。根结点无前驱,叶结点无后继。

2023-09-06 11:38:42 152 1

原创 3.3.2【链式队列 有头单向链表】

/ 定义 链式队列 结点结构体} LLN, *LL;// 定义 操作 链式队列 的结构体LL front;// 队头结点指针(LLN * front)(struct LinkListNode *)LL rear;// 队尾结点指针} LQ;

2023-09-06 11:38:09 118 1

原创 3.3.1【顺序循环队列】

队列 或者 栈,都是对 顺序表 进行受限操作来实现的。所以,结构体顺带开辟 数组作为顺序表空间。

2023-09-06 11:37:30 144 1

原创 3.2.2【链式栈 无头单向链表】

思路:栈针top 永远指向无头单向链表的 第一个结点,即栈顶。栈空,则指向NULL新结点,总链接到栈顶结点之上,成为新栈顶。

2023-09-06 11:36:57 130 1

原创 3.2.1【顺序栈】

/ 指向 栈 的存储位置int maxlen;// 保存 栈 的 最大 长度int top;// top始终代表 当前栈内最后一个有效元素 的下标(在心里当成last用)} SS;data:存放用malloc所开辟空间 的的首地址;而不是整个数组,这样结构体占用的空间就会变小。maxlen:用maxlen去malloc指定长度的 顺序地址长度空间,即堆区的数组。

2023-09-04 15:05:55 58 1

原创 3.1.5【约瑟夫问题:双向循环链表】

思想和单向循环一样,只需要将双向链表尾的。

2023-09-04 15:05:25 53 1

原创 3.1.4【约瑟夫问题:无头单向循环链表】

从1号开始,数5个数,数完5个数,5号被杀死,第一轮报数后,剩余人数如下。假设n=6总共6人,k=1从第一个人开始,m=5,每次从1数到5。的人出列,依次类推,最后剩下一个为猴王。从6开始报号1,然后4出局,下个人为6。个人围坐一圈,约定编号为。

2023-09-04 15:03:22 32 1

原创 3.1.3【有头 双向(不循环)链表】

思路类似链式队列,需要 头head和 尾tail两个指针。头指针 指向 头结点,尾指针 指向 末个 有效结点。//数据域//前驱指针域//后驱指针域将头尾指针放到一个操作双向链表的结构体里DLL head;// 头指针DLL tail;// 尾指针int len;// 记录链表长度(比下标大1)} ODLL;指定位置插入、指定位置删除、修改指定位置;这三者移动指针的思路是相同的。运用有头,无头单向链表思路。

2023-09-04 15:02:37 48 1

原创 3.1.2【有头单向链表】

/数据域//指针域} LLN, *LL;LLNLLLLLLN *链表插入删除方便,顺序表插入删除需要移动元素。链表访问元素比较麻烦,需要遍历,顺序表查找方便因为内存连续,通过下标即可查找。顺序表长度固定,链表长度不固定。

2023-09-04 15:02:03 32 1

原创 3.1.1【顺序表】

注意:该结构体不是顺序表本身,而是为了方便操作顺序表而设计定长数组(即顺序的线性表)数组中,最后个有效元素的下标#define N 5 // 定长数组大小// 顺序表数据类型// 1. 定义用来操作顺序表的结构体// 定长数组int last;// 数组中最后一个有效元素的下标} SL;

2023-09-04 15:00:57 31 1

原创 2.2【算法与时间复杂度】

对于算法的时间效率的计算,通常是抛开与计算机硬件、软件有关的因素,仅考虑实现该算法的高级语言程序。对于一个算法的复杂性分析:主要是对算法效率的分析,包括衡量其运行速度的时间效率,以及其运行时所需要占用的空间大小。算法的时间复杂度是一个函数,它定性描述该算法的运行时间,时间复杂度常用 O 表述,它衡量着一个程序的好坏,时间复杂度的估算是算法题的重中之重。

2023-09-04 15:00:25 32 1

原创 2.1【概念】

通过构造相应散列函数,由散列函数的值来确定 数据元素/结点 存放的地址(即关键字和地址存在映射关系)。:描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。:数据元素是组成 数据 且有一定意义的基本单位,在计算机中通常作为整体处理。顺存储结构就像排队,大家都按照顺序排好,每个人占一小段空间,逻辑上谁也不能插队。查找一个人的电弧就可以先查索引表,再查相应的数据文件,加快了查询速度。这样的存储形式,称为顺序存储结构。来表示,由此得到的存储表示成为链式存储结构。

2023-09-04 14:59:43 22 1

原创 0.【问题梳理】

来操作 目标元素队列和栈,都是对 顺序表,进行受限操作。

2023-09-04 14:57:23 24 1

原创 《数据结构 与 基础算法》

数据结构 与 基础算法》:写在语雀,无会员,所以转发CSDN。

2023-09-04 14:53:45 40 1

原创 HTML课程作业设计:注册登录跳转+家乡介绍

少说废话:写于大三结束前夕,本内容目的是 为初学WebH5的大学生提供基础帮助的参考,其中内容是我这次课程设计的内容,全是基础部分,但个人感觉基础扎实,才是技术进步的基石。

2023-09-04 14:39:14 69 1

原创 安卓课程作业:本地单词本、本地音乐播放器、计算器

少说废话:写于大三结束前夕,本内容目的是 为初学安卓的大学生提供基础帮助的参考,其中内容是我这次课程设计的内容,全是基础部分,但个人感觉基础扎实,才是技术进步的基石。

2023-09-04 14:37:12 35 1

原创 大三下华清实训

嵌入式 = 硬件 + 软件硬件嵌入:嵌入芯片(让硬件具备运算能力)软件嵌入:嵌入程序或算法(让对硬件的控制更加便捷)嵌入式是以应用中心,以计算机技术为基础,软硬件结合可裁剪,对功能、体积、功耗和成本有严格要求的计算机系统。常用操作:选中Terminal终端,CtrlShift=为放大字体;Ctrl-为缩小字体;CtrlL清屏;根目录和家目录的关系:MQTT协议:MessageQueuingTelemetryTransport [消息队列遥测传输协议]

2023-09-04 14:33:15 152 1

原创 PlatformIO&Arduino之经验总结

水平有限,不对之处,希望指正!诸位三无量!

2023-09-04 14:29:51 581 1

原创 makefile 基础应用

makefile 基础应用

2023-09-04 14:19:23 33 1

Linux IO 与 进程的免费PDF,下载就能看

Linux IO 与 进程的免费PDF,下载就能看

2023-09-09

数据结构 与 基础算法,语雀导出的

数据结构 与 基础算法

2023-09-04

空空如也

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

TA关注的人

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