自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (2)
  • 收藏
  • 关注

原创 嵌入式学习记录6.19

一.思维导图

2024-06-19 21:08:27 144

原创 嵌入式学习记录6.18(qt练习)

【代码】嵌入式学习记录6.18(qt练习)

2024-06-18 22:27:54 390

原创 嵌入式学习记录6.17(qss练习)

【代码】嵌入式学习记录6.17(qss练习)

2024-06-17 19:49:49 249

原创 嵌入式学习记录6.14(练习)

【代码】嵌入式学习记录6.14(练习)

2024-06-16 22:14:37 261

原创 嵌入式学习记录6.13(qt day1)

【代码】嵌入式学习记录6.13(qt day1)

2024-06-13 21:16:20 424

原创 嵌入式学习记录6.11 (继承,多态)

由于虚继承后,只保留一份中间子类从公共基类继承下来的数据成员,编译器不知该保留哪个中间子类的,所有就直接调用无参构造函数,此时如果想给公共基类数据成员初始化,就需要在汇聚子类中手动调用公共基类的有参构造函数来完成初始化工作。2> 虚函数满足继承, 如果父类中的函数是虚函数,继承到子类中,该函数依然是虚函数,如果子类再被继承,那么在“孙类”中该函数依然是虚函数。而在c++中父类的指针或者引用,可以指向或者初始化子类的对象,调用子类对父类重写的函数,进而展开子类的功能。2> 建立父类和子类之间的联系。

2024-06-11 20:11:01 702

原创 嵌入式学习记录6.10

(5)另外, RMB 类还包含一个静态整型成员变量 count,用于记录当前已创建的 RMB 对象的数量。每当创建一个新的 RMB 对象时,count 应该自增 1;(1)重载算术运算符 + 和 -,使得可以对两个 RMB 对象进行加法和减法运算,并返回一个新的 RMB 对象作为结果。(2)重载关系运算符 >,判断一个 RMB 对象是否大于另一个 RMB 对象,并返回 true 或 false。(3)重载前置减减运算符 --,使得每次调用时 RMB 对象的 yuan、jiao 和 fen 分别减 1。

2024-06-10 18:38:33 186

原创 嵌入式学习记录6.6(拷贝构造/友元函数/常成员函数)

拷贝构造函数是一种特殊的构造函数,用来将一个类对象给另一个类对象初始化使用的。1> 用一个类对象给另一个类对象初始化时,会自动调用拷贝构造函数。2> 当一个类对作为函数的实参,传递给形参的过程时,会自动调用拷贝构造函数。3> 当一个函数返回一个类对象时,会自动调用拷贝构造函数。

2024-06-06 22:32:40 503

原创 嵌入式学习记录6.5(内存分配/构造函数/析构函数)

设计一个Per类,类中包含私有成员:姓名、年龄、指针成员身高、体重,再设计一个Stu类,类中包含私有成员:成绩、Per类对象p1,设计这两个类的构造函数、析构函数。2> 当类中有指针成员,并且申请堆区空间时,此时需要显性定义出析构函数,在析构函数中手动释放指针成员申请的空间,否则会造成内存泄漏。7> delete释放类对象空间时,会自动调用析构函数,而free不会自动调用。6> new申请类对象空间时,会自动调用构造函数,而malloc不会自动调用。1.当实例化一个对象时,给类对象申请空间和初始化使用的。

2024-06-05 20:14:27 700

原创 嵌入式学习记录5.30(引用/函数重载/结构体)

具体的使用:如果函数调用没有给实参,那么就使用形参的默认值。如果函数调用给了具体实参,那么就使用所传递的实参。

2024-05-30 19:32:33 1076

原创 嵌入式学习记录5.27(c++基础1)

在C++中,命名空间(Namespace)是一种避免命名冲突的方式,它可以把一组具有相似功能的实体(包括类、函数、变量等)封装在一起,形成一个独立的区域。---->该语句表示,导入命名空间中的所有标识符,在该语句后面,命名空间中的所有标识符可以任意使用(一般写在头文件下方,主函数上方)----->在该语句后,可以使用导入的指定标识符。所以C中的头文件,仍然可以在C++文件中使用,一般去掉C中头文件的.h,在前面加上c。解决方式: 命名空间名::标识符 ----->直接指定访问某一个命名空间中的标识符。

2024-05-27 20:03:48 1119

原创 基于UDP的网络聊天室

【代码】基于UDP的网络聊天室。

2024-05-26 19:49:51 254

原创 嵌入式学习记录5.23(超时检测、抓包分析)

目录一.自带超时参数的函数1.1 select函数1.2 poll函数的自带超时检测参数二、不带超时检测参数的函数三、通过信号完成时间的设置四、更新下载源五、wireshark使用5.1. 安装5.2. wireshark 抓包5.2.1 wireshark与对应的OSI七层模型​编辑5.2.2 包头分析5.2.3 ip头5.2.4udp头5.2.5tcp头六、三次握手 四次挥手6.1三次握手6.2四次挥手七、面试总结1.2 poll函数的自带超时检测参数三、通过信号完成时间

2024-05-23 21:54:49 1032

原创 嵌入式学习记录5.22(io多路复用)

在阻塞IO模型中,当一个IO操作(如读取或写入)开始时,如果数据没有准备好,程序会被挂起(即阻塞),直到数据准备好并且IO操作完成。- 在数据准备阶段,程序做不了其他事情,它会等待在那里直到整个IO操作完全完成后才会继续执行。- 阻塞IO简化了编程模型,因为在发起IO请求之后,你只需要等待结果,不必担心在这个过程中如何处理其他任务。

2024-05-22 21:48:14 887 1

原创 嵌入式学习记录5.21(域套接字)

1> 域套接字是最原始的套接字通信方式,是完成同一主机之间多个进程间通信。2> 由于不需要跨主机进行通信了,那么就无需使用ip地址和端口号了。3> 域套接字的通信介质为套接字文件 bcd-lsp。5> 域套接字也分为流式域套接字和报式域套接字。4> 通信本质:依然使用的是内核空间。6> 跟网络通信中相关函数的区别。9> 删除文件系统中的文件函数。8> 判断文件是否存在的函数。7> 地址信息结构体的不同。

2024-05-21 20:29:03 158

原创 嵌入式学习记录5.20(TCP并发服务器)

2> 原因是:accept函数是阻塞函数,而数据收发也是阻塞任务,这两个任务目前是顺序执行,当一个任务阻塞时,另一个任务只能等待。3> 为了解决上述顺序执行的多个阻塞任务,让多个阻塞任务可以并发执行,我们可以引入多进程或多线程实现多任务并发执行。5> 多线程实现原理:主线程可以用于接受客户端的连接请求,并创建出一个分支线程用于通信。4> 多进行实现原理:父进程可以用于接受客户端的连接请求,并创建出一个子进程用于通信。1> 由于循环服务器使用时,只能等到上一个客户端处理结束后,才能处理下一个客户端。

2024-05-21 16:46:09 420 1

原创 嵌入式学习记录5.18(多点通信)

1、socket:创建用于通信的套接字文件描述符 2、bind:必须绑定 IP地址:广播地址 Port:与发送端保持一致 3、recvfrom:接收广播消息 4、close:关闭套接字。2> 组播地址:D类网络---> [224.0.0.0 -- 239.255.255.255]8> 广播的接收端流程 ----> 类似于UDP的服务器端。7> 广播的发送端流程----> 类似于UDP的客户端。5> 组播的接收端 ----> 类似于UDP的服务器端。4> 组播的发送端 ----> 类似于UDP的客户端。

2024-05-21 16:35:36 1114

原创 嵌入式学习记录5.17(tcp和udp基础)

1> 在网络通信中,需要创建一个信息通信的载体,这个载体就是套接字2> 使用socket函数,来为通信创建一个端点,并返回该端点的文件描述符3> 端点中,包含两个缓冲区,分别是发送缓冲区和接受缓冲区4>一个套接字通常对应一个文件描述符5> 套接字通信原理图6>socket函数。

2024-05-17 21:31:28 305

原创 嵌入式学习记录2024.5.16(网络编程基础)

为了方便记忆,我们将ip地址的每一个字节单独转换为10进制数据,以小数点作为分割来表示IP地址,用字符串表示,但是,在网络传输过程中,使用的还是整数的形式。4> IP地址的划分:由于ip地址比较庞大,我们将其进行分组,一个分为5类网络,分别是A类网络、B类网络、C类网络、D类网络、E类网络。1> IP地址的概念:IP地址是计算机在网络中的唯一标识,由两部分组成,分别是标识网络区域的网络号,和该网络下的主机编号。2> 基于BS模型:浏览器服务器模型,由网页上的相关组件跟服务器进行交互,无需安装客户端软件。

2024-05-16 20:53:25 810

原创 嵌入式学习记录 2024.5.13

一般情况为读取指定编号的消息,按ctrl + c之后,当键盘按ctrl + c的时候,切换消息读取方式,使用消息队列实现的2个终端之间的互相聊天。指定的编号不读取,读取其他所有编号的消息。

2024-05-13 22:13:31 217

原创 嵌入式学习记录 2024.5.12(同步互斥练习)

50公里每小时 现在要求模拟火车反复通过隧道的场景(不可能2列火车都在隧道内运行)1:有一个隧道,全长5公里,有2列火车,全长200米,火车A时速 100公里每小时 火车B时速。

2024-05-12 22:59:33 206 1

原创 嵌入式学习记录 2024.5.10(多线程编程1)

功能描述:设置线程cancel的退出类型,是立刻退出还是运行到下一个退出点后才退出 参数type:类型,有2个选择 PTHREAD_CANCEL_DEFERRED: 默认设置,线程取消后,运行到下一个退出点才取消 PTHREAD_CANCEL_ASYNCHRONOUS: 现在在被cancel之后,立刻取消运行,但是系统不保证一定会立刻取消 参数oldtype:用来接受原先线程取消类型,传0表示不接受。将线程的属性,设置成分离式属性,分离式属性的作用就是:当线程结束运行之后,所有线程的8k资源,自动回收。

2024-05-10 20:52:43 716

原创 嵌入式学习记录 2024.5.9(多进程编程)

理论上来说,在一个时间单位内,单核计算机只能运行一个进程。但是这个时间单位非常的短暂,非常快速的运行到下一个时间单位之后,就会切换到另一个进程运行,由于人的感官感觉不到这么短暂的时间,从而造成一种2个进程在同时运行的假象而每个进程都有自己的内存空间和执行环境,彼此之间相互独立。这种编程模型可以允许程序同时执行多个任务,提高系统的并发性能和效率。在多进程编程中,通常使用系统调用(如fork())来创建新的进程,并通过进程间通信来实现进程之间的数据交换和协作。

2024-05-09 20:33:01 827 1

原创 嵌入式学习记录 2024.5.8(文件io)

参数mode:本质是一个可变参数,可写可不写 仅当第2个参数,拥有 O_CREAT 属性的时候,也就是说open函数需要创建文件的时候,要求传入第3个参数mode,作为创建这个文件的权限。以上3个功能函数,功能都是一样的,都是用来获取文件的属性, 并且将获取到的属性保存到statbuf所指向的内存中去 stat和lstat函数完全相同,除了获取文件属性的时候,如果获取的是一个符号链接文件的话,stat函数会获取符号连接文件所引用的文件的属性,而lstat函数只会获取符号连接文件本身的属性。

2024-05-08 21:46:45 714

原创 嵌入式学习记录 2024.5.7(fwrite / fread/fseek)

练习:运用io知识将一张bmp格式图片修改为德国国旗。

2024-05-07 20:08:38 355 1

原创 嵌入式学习记录 2024.5.6(fprintf和fscanf练习)

申请该结构体数组,容量为5,初始化5个学生的信息 使用fprintf将数组中的5个学生信息,保存到文件中去 下一次程序运行的时候,使用fscanf,将文件中的5个学生信息,写入(加载)到数组中去,并直接输出学生信息。5.6号部分io函数。

2024-05-06 20:28:34 243 1

原创 嵌入式学习记录 2024.4.28(c基础练习)

韩信点兵又称为中国剩余定理,相传汉高祖刘邦问大将军韩信的卫兵有多少,韩信说,3人一列余1,5人一列余1人,7人一列余1人,……一个猴子吃一颗数上的桃子,每天吃当前桃子的一半并多一个,第十天后,桃子还剩1个,问一开始有多少个桃子。公鸡每只5元,母鸡每只3元,小鸡一元3只。现在有一百元钱,需要买一百只鸡,请列举出所有的可能情况。有若干只鸡兔同在一个笼子里,从上面数,有35个头,从下面数,有94只脚?请问,对折多少次后,会超过珠穆朗玛峰(8848.88米)一张厚足够大的度为1毫米的纸,可以无限折叠,

2024-04-28 21:17:40 248

原创 嵌入式学习记录 2024.4.23

例如变量、堆区申请的空间、地址返回的函数返回值。例如常量、临时值、表达式的结果、值返回的函数返回值。3> 操作数:参与运算的数据,可以是常量、可以是变量、也可以是一个表达式(例如:1+2*3)5.加法操作的右子节点:是 num++ ,即后缀自增操作,它作为一个整体被视为一个节点。3.右子节点:赋值操作的右侧是一个加法操作+,这个加法操作本身也是一个二又树的根节点。2> 表达式:由操作数和运算符组成,并且能返回一个确定值的式子,叫做表达式。1> 运算符的种类:单、算、关、逻、条、赋、逗。二 深入理解自增++

2024-04-23 19:06:09 152

原创 嵌入式学习记录 2024.4.22(将Windows下的集成开发环境远程连接到ubuntu)

添加到.ssh/配置文件中,按回车后关闭VSC。三.在IDE中远程连接虚拟机(以VSC为例)二.在ubuntu中安装远程连接相关协议。一.虚拟机联网后,查看ip地址。远程连接ubuntu了。

2024-04-22 15:58:06 181

原创 嵌入式学习记录 2024.4.20( c语言 进制转换、数据类型、输入输出)

2.数据类型:基类型(int,short,long,float,double,char)、构造类型、空类型、指针类型。1).当有符号/longint和无符号/longint运算时,有符号long/int默认转换为无符号。2.宏名:满足命名规范(由数字,字母,下换线,不能是关键字,不能是数字开头,见名知意,区分大小写)2.)当有符号char/short和无符号运算时,默认转换为有符号的int运算。有符号:[-128,+127] [-2^7,2^7-1]宏:只做替换,不做计算,不做正确性的检查,不变。

2024-04-20 19:01:43 549

原创 嵌入式学习记录 2024.4.18

有符号数:存在正负之分的数,最高位表示符号数(1表示负,0表示正),其余为表示数值位。无符号数:00000000------11111111 [0,255]gcc: gcc是由GNU发行的一个编译器,适用于C或C++无符号数:不存在正负之分, 所有位均表示数值位。1111 1111 原 1000 0001 原。1000 0001补 1111 1111 补。原码:最高位表示符号位,其余为表示数值位。有符号数: [-128,+127]1.创建 vim ****.c。3.二进制转换八进制、十六进制。

2024-04-18 17:17:59 277

原创 嵌入式学习记录 2024.4.17

VMware: 是一个虚拟机,在内存中虚拟出一片空间,在这片空间启动另一个操作系统。三大操作系统: windows Macos Ubuntu。Ubuntu: 操作系统,关系硬件和软件,具有可视化页面。内 核: windowsNT Unix Linux。一 shell指令功能图。操作系统:管理管硬件和软件。三、认识VMware。四、认识Ubuntu。

2024-04-17 19:12:21 225 2

原创 java编写2048小游戏

Java课程设计(综合项目文档)题目 2048游戏 二〇二一年六月目 录1 绪论 11.1 项目概述 11.2 项目意义 12 开发工具和相关技术简介 12.1开发工具 12.2 Eclipse简介 22.3Java语言介绍 22.4MySQL简介 32.5 JDBC技术简介 33 系统需求分析 43.1 系统可行性分析 4...

2021-07-02 07:58:15 419

阶段一计科二班19111227.docx

阶段一计科二班19111227.docx

2021-06-29

空空如也

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

TA关注的人

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