自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 硬件驱动misc简介

杂项设备驱动。

2024-09-04 20:58:00 265

原创 进程复习111

进程是一个程序执行的过程会分配内存资源,CPU的调度是资源分配的基本单位。

2024-09-04 14:52:46 305

原创 wireshark使用攻略

wireshark 是网络封包分析工具,可与截取各种网络数据包并且显示数据包的详细信息。

2024-09-03 14:37:31 428

原创 网络编程TCP与UDP

UDP头:包括源端口、目的地端口、用户数据包长度,检验和 数据。

2024-08-22 20:22:48 1402

原创 什么是进程?C语言

进程的简略知识点

2024-08-14 20:16:41 961

原创 驱动学习1、2

EOR --- 异或 相同为0 不同为1。Cortex-M 高性能 --- 偏控制 eg:STM32。Cortex-R 实时性 --- 航空航天军工 汽车电子。函数传参的时候用的是r0~r3前四个寄存器--->分别对应传入函数的第一二三四位参数的值。Cache:缓存 I(指令) D(数据) --- 分别16KB。Cortex-A 消费类电子---低功耗。

2024-08-13 20:21:29 529

原创 C++速学day4

蛇 和 爬行类动物 //这两个类就是继承关系子类 父类 //它们的关系相当于派生类 基类。

2024-08-12 20:26:47 1080

原创 C++速学day3

函数传参或者调用的时候新复制的指针,只是创建了一个新的地址指向原来同样的地址,没有将里面的内容进行复制-------> 浅复制。但需要传入 NULL 的地方 不一定可以传入 0 , 它们使用的方法不是完全等价的。这个情况可以在printfArray的第三个参数部分写入对数组判断条件的函数。深复制不止创建了地址,还复制了一份同样的数据出来。利用函数指针制作一个方便的可以输出不同情况数组的。这里表示的就是输出数组中能被3整除的数。指针是一种数据类型,存放地址的手段。函数指针: 一个指向函数的指针。

2024-08-08 20:00:40 300

原创 C++速学day2

/先声明CD中的Clock 这个函数 后面使用的时候 默认是CD命名空间的。类的组合 ,描述的就是一个类内嵌其他类的对象作为成员的情况,他们之间的关系是一种包含和被包含的关系。重点:1、封装———— 就是对类的抽象 ,将一种对象的共性 抽象成一个类。全局空间的标识符(函数)在使用时候加上两个::就是全局命名空间作用域的函数。若是不在classB之前声明A B中的A对象的定义会报错。一个类的类对象只能创建一个出来 这个类的对象只能有一个。这个时候创建的c 就是CD 命名空间的c。

2024-08-07 21:11:00 1070

原创 C++速学day1

数据抽象功能抽象即抽象出对某些东西的共性,比如说人的名字,性别,年龄,人的行为,吃饭,走路,工作学习之类。用C++的函数来表达。对同一个研究对象,由于研究的问题侧重点不同,也可能形成不同的抽象结果。

2024-08-06 21:10:36 369

原创 C++s速学day1

首先,它将数据及队数据的操作方法放在一起,作为一个相互依存、不可分割的整体-----对象。封装:是将抽象得到的数据和行为(或功能相结合),形成一个有机的整体,也就是将数据与操作数据的函数代码进行有机的结合,形成“类”。2、面向对象的编程思想 (此处与C语言的区别很大,C语言中是面向过程的编程语言,也就是把一个大的问题分解成很多个小问题去解决,而在。抽象 --- -- - 封装 ----- 继承 -- -- - -多态。inline的函数必须写在.h文件中,包括他的函数内容。

2024-08-06 19:52:19 362

原创 库文件的制作和makefile文件操作基础实现

这个so文件就是库文件。(若是用到了自己写的.c和.h文件,需要在同一目录下哦)此时不需要考虑路径,使用时候就像 -lm一样就可以去调用这个libshow.so 使用的时候用-lshow。eg:在ubuntu中有一个libshow.so 想把这个文件放在系统的路径下使用。有了很多.o文件之后就可以用这个命令进行静态库的整合。路径: /usr/lib 是系统的库文件的库。成功之后生成 libxxx.a文件 就可以使用了。-L : 编译的时候就回去目标路径去寻找库文件。静态库是.o文件的合集。

2024-07-31 22:09:27 633

原创 RGB实现字符覆盖操作(部分重新覆盖)

【代码】RGB实现字符覆盖操作(部分重新覆盖)

2024-07-31 21:55:48 97

原创 RGB控制字符屏幕显示

【代码】RGB控制字符屏幕显示。

2024-07-30 21:25:33 402

原创 数据结构day5(队列)

队满的条件:tail +1 = head。特点是 队空的条件:tail = = Head。常用的: 入队 / 出队。

2024-07-27 22:23:15 455

原创 数据结构day4(栈)

top指示器,表示的是新元素待插入的位置。top指示器指的是, 最后压栈的元素的位置。

2024-07-26 14:39:33 483

原创 数据结构day3(双向链表操作)

线性表的链式存储:解决了顺序存储的缺点,插入和删除。注意:用自己结构的指针一般就是 链表。DoubleLInk.h文件。DoubleLInk.c文件。

2024-07-24 22:02:33 386

原创 数据结构day2(超级数组)

seqlist.c文件,包括创建,插入,删除,查找,修改。这里定义的是相当于一个 包括人名字、性别、年龄的数组。

2024-07-23 11:27:12 524

原创 数据结构day1

语法正确 合法的输入得到合理的结果 对精心选择,甚至刁难的测试都能正常运行结果正确。是解决特定问题求解步骤的描述,计算哪几种表现为指令的有限序列,每条指令表示一个或多个操作。2、链式(malloc),数据存放的内存单位是随机或任意的,可以练习也可以不连续。2、 有穷性,执行的步骤会自动结束,不能是死循环,并且每一步是在可以接受的时间内完成。是指一组性质相同的值的集合及定义在此集合上的一些操作的总称。线性:数据与数据之间是一对一的关系。1、 输入,输入特性: 输入是可选的,输出是必须的。

2024-07-23 09:11:23 624

原创 程序设计---一个淘宝小程序模拟()

【代码】程序设计---一个淘宝小程序模拟()

2024-07-21 21:29:53 200

原创 数据库day3 html----网页服务器设计(续)

下载

2024-07-21 21:28:46 387

原创 数据库day2

外建----关联型数据库。<head> //在head里面的信息不做正文一般是描述性信息或者设置性信息。SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的SQL数据库引擎。<body> //body里的内容会在网页中显示出来。<meta charset="utf-8"> //元数据。在设计的时候要把格式改成UTF-8编码 文件保存的时候名字的后缀要设置成html。</title> //网页的标题。

2024-07-17 23:09:33 537

原创 网络编程part3

复位RST 当RST = 1 时,表示TCP连接中出现严重差错,必须释放链接,然后再重新建立链接,同步SYN 当SYN = 1 而 ASK= 0 时,表明这是一个链接请求报文段。TTL: ---- 在找网址的时候查找的次数。因为tcp是流式套接字,正常顺序发送的是1 2 3 但可以让3是紧急数据。HTML 超文本标记语言 ----> 不止有字符串 还有二进制文件。发送方置1并且发送报文段。TCP flag ------> 计算机网络 5.5 图-5.14。

2024-07-16 21:11:40 712

原创 Linux文件编程(标准IO与文件IO)学习日记1

fgets读取数据的结束条件: 1、读满了size-1 2、读到了‘\n’ 3、读到了EOF。失败-------- NULL&errno会被设置来表明错误的原因。我们要知道在Linux中一切皆文件,我们可以通过操作文件的方式进行对各种文件的使用。标准操作流程: 1、打开文件----> 2、读写增删查----> 3、关闭文件。返回值:成功 返回字符串 s 的首地址 //存放数据的字符串的首地址。注意: EOF只是文件结束的标志,而真正的文件之并不存在EOF这个字符。

2024-07-16 21:08:59 934

原创 网络编程part2

可以一次性把数据全拿走 没有边界 ,,发和收的次数不需要对应 (可以发三次收一次全收到) //流式套接字 先发的数据一定在前面 收到的数据数取决于 recv的个数。四次挥手 客户端先发出FIN信号 服务器先对之前的数据进行应答,然后滞后一点 点时间发出断开请求,并且对之前的数据进行应答。2、发的次数必须和收的次数相对应 并且收的长的不要少于发的字节不然后面的数据会被丢弃。1、数据和数据之间有边界。

2024-07-15 21:42:40 456

原创 数据库学习part1!!

/存非数字的内容 要加上‘’ /“” 来引起来。//所有的符号都是英文的。// 满足条件的显示不满足的不显示。//顺着表字段的顺序给。.schema 原理图 //显示这个表的建表语序,就是建表时的各个字段是什么的规则。建表: create table user(表名)(id int , name char , age int);.tables 和shell的ls有点像 //显示当前这个库有哪些表。使用方法: sqlitebrowser xxx.db //打开这个图表。

2024-07-15 21:40:05 446

原创 LINUX高级编程part2

打印字符串 遇到$变量则打印变量中的值 //$name 就打印出name的值。:将中间的·字符串按照命令打印 //命令置换eg: `ls -l`env打印出来之后 显示的数值前面的大写字母就是环境变量 后面代表环境变量的值。:打印字符串 遇到$变量依然打印$变量 //原样输出。当前shell的PID //进程的PID号。查看上一个命令执行的结果 //0 表示成功了。环境变量 // 位置变量 //自定义变量。环境变量:(env)

2024-07-12 11:34:40 481

原创 网络编程学习part1

192.168.0.1 //网关(gate) 当你从路由器通信去外网的时候,决定这个东西在局域网之内转发还是在局域网向互联网去转发 的一个网络设备。192.168.0.255 //表示整个局域网 用来进行广播操作 向这个IP发送数据可以向所有的局域网用户转发数据,如果接收都可以接收的到。C类: 中小规模型网络 范围:192.0.0.0 - 223.255.255.255 //最后一位表示主机号。常用的地址都在ABC类很少用到DE。

2024-07-10 20:52:44 1206

原创 LINUX高级编程part1

用户 a.out ---> shell(命令行解释器)-->负责将这个程序交给Linux内核-->linux执行a.out。//表示这个shell文件将来用哪个shell程序执行。//给执行权限 -----> 之后用 ./xx.sh 即可运行程序。我们现在用的是-----> bash 一个功能更强大的shell。shell程序的作用--->保护Linux内核,提供一个与用户交互的界面。最早的shell编程------就是sh 很简陋 有基础的功能。

2024-07-03 21:58:44 450

原创 STM89C51开发学习1

使用Keil uVision4环境进行对51单片机的学习。在进行使用之前先用keygen进行对软件的破解防止后续发生不必要的问题。开发环境下载完毕后,检查电脑是否有串口驱动(可以在网上下载) CH340驱动。安装stcai-isp-v6.94E驱动对单片机进行程序的烧录。测试无误之后环境配置结束。

2024-06-11 20:25:23 682

原创 C语言学习日记LastDay

enum 变量名成员变量eg:Mon, .//在枚举中可以给变量赋值,赋值的那个值后面的数按照赋的值继续加1Tues, //就像本来是mon=1 ,tues =2 ,wed=3Wed, //若是赋值tues =4 则 mon =1 tues =4 wed = 5.Thurs,Fri,Sat,Sun在main函数中 枚举变量使用方法如下:switch(n)case mon:break;...

2024-06-11 20:02:05 416

原创 C语言学习--链式结构

优势, s[i] 随机访问(随机存取)---> 存 拿数据很方便。数据结构体---操作时候的特点, //特点决定他应用的场合。数据结构 ---- 指的是 数据的组织形式。有头--第一个节点不存有效数据 //作用:为了更方便的操作链表。//数据域 --存储要处理的数据。//空链表 -- 只有头节点 ,但没有有效的数据节点。操作: //数据结构体 数据的处理 --> 增删改查。尾节点 ---链表的最后一个有效节点 NULL。优势:增加和删除数据 很方便。首节点 ---第一个保存有效数据的节点。

2024-06-04 21:45:52 926

原创 C语言学习日记————结构体

3、成员列表 //来描述结构体类型中具体的一些数据。2、结构体名 //表明这个结构体类型的名称。4、如果 成员变量中没有比4字节大的,此时整个结构体按照最大的那个成员对齐。eg:s.name //访问s中的name。结构体实际的大小并不等于结构体里数据类型大小的简单相加。1、在32位的平台上,默认都是按照4字节对齐的。3、 声明类型的同时定义变量 但是省略结构体的名。

2024-06-03 22:47:16 548

原创 C语言学习 指针part3

/因为左右两边类型不一致,p是int * //int * 表示 是一个 存放int类型数据的 空间的地址。//a 是一个float类型的变量, &a 表示获得了这块空间的地址,这个值的类型是float *//指针的数组 --- 指针数组。//*p对应的值 是 a[0] ---内部的一维数组 数组名 --- &a[0][0] --> int *//指针是一种数据类型, p是什么类型 => int * //int型的指针(地址)类型。//2.从dest的 '\0'位置开始,拷贝字符串 //受到n的控制。

2024-05-30 21:54:40 1146

原创 C语言---指针part2

/ *s1 和 s1 本身都不能被修改。//s1的空间开在栈上,但是s1指向的"字符串常量"//如果,不希望修改 *s1 的数据。//2.从dest的 '\0'位置开始,拷贝字符串 //受到n的控制。2.const 修饰的变量,为只读变量 //变量还是变量 只是成了只读的。实现: //返回值 表示的是dest 存放字符串的空间的首地址。//2.从dest的 '\0'位置开始,拷贝字符串。//3.最终dest中 需要有 '\0'结束标志。//3.最终dest中 需要有 '\0'结束标志。

2024-05-29 20:47:21 995

原创 排序--快速排序

1、找一个基准值k //假设数组第一个元素作为基准值a[0]5,再对比基准值小的部分和大的部分分别进行下一步快速排序 //递归。直到begin与end相遇,此时交换相遇位置与基准位置上的值。2、从右向左,找比基准值小的值。3、从左向右,找比基准值大的值。4、将2,3找到的值进行交换。

2024-05-28 20:48:13 189

原创 C语言学习--指针

/ &p ==> 对应地址的类型是 int** //int*表示基类型 后面的*表示说是一个地址类型的数据。//不能使用int *p,q,r;//*(&p) 《==》 基类型变量来看(int*类型的一个变量)//数值上看,相差了 <=---=> sizeof(基类型) * N。p-q //相同类型的指针,减出来的是相差的单位的个数(地址之间相差的元素个数)//p存放的是int *&*p //&(*p) 相当于取a的地址。*&p // ====》 p本身。

2024-05-28 20:36:51 308

原创 函数学习日记5.17-5.24

---------------------------------------------- ------------------------------------------------------------------ ---------- 返回值的类型标识符 函数名(形式参数) //函数头 head。一一对应的 ` //第一个实参 就给到第一个形参。void printArray(int a[][4]) //注意 这个列数不能省!

2024-05-28 20:35:48 689

原创 C语言---指针

/ &p ==> 对应地址的类型是 int** //int*表示基类型 后面的*表示说是一个地址类型的数据。//此时ret1中的数据就变成了ret的值啦,也就是3。//不能使用int *p,q,r;//*(&p) 《==》 基类型变量来看(int*类型的一个变量)&*a //会报错 a不是一个指针类型的变量 所以不能编译!//野指针 --- 指向不明确的指针。//p存放的是int *&*p //&(*p) 相当于取a的地址。*&p // ====》 p本身。

2024-05-28 09:20:09 652

原创 字符串常用函数

求字符串长度,求字符型数组的字符串长度,函数功能strlen的原型。给字符型数组输入字符,并且让这它变成一个字符串。把src这个字符数组复制到放到dest中。让字符型数组输出,相当于puts()。判断s1与s2的大小关系。3、strlen函数。4、strcpy函数。5、strcmp函数。

2024-05-24 22:01:08 333 1

空空如也

空空如也

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

TA关注的人

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