自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (6)
  • 收藏
  • 关注

原创 C++11新特性(lambda表达式基础&&函数指针)

lambda表达式基础

2022-09-22 21:36:29 1224 1

原创 LINUX网络编程

1.网络编程概述地址 IP地址 端口号 一台拥有IP地址的主机可以提供多种服务,如Web服务,FTP服务,SMTP服务等,主机如何区分不同的网络服务:通过“IP地址+端口号”来区分端口提供了一种访问通道服务器一般都是通过知名端口号来识别的。TCP/UDP1.TCP是面向连接的,UDP是无连接的(发送数据前不需要建立连接)。2.TCP提供可靠的服务,通过TCP发送的数据,无差错,不丢失,无重复,且按序到达;UDP尽最大努力交付,即不保证可.

2022-06-30 14:25:12 342

原创 OSI网络模型记忆点

7应用层 例如:HTTP、FTP、Telnet、SMTP6表示层5会话层 BSD sockets4传输层 TCP、UDP3网络层 IP2数据链路层1物理层

2022-06-30 14:24:26 521

原创 Linux线程开发API

进程与线程典型的UNIX/Linux进程可以看成只有一个控制线程(也就是说一个进程至少有一个线程)一个进程可以有很多线程,每条线程执行不同的任务。进程是程序执行时的一个实例,是担当分配系统资源(CPU时间、内存等)的基本单位。在面向线程设计的系统中,进程本身不是基本运行单位,而是线程的容器。程序本身只是指令、数据及其组织形式的描述,进程才是程序(那些指令和数据)的真正运行实例。线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺

2022-06-29 15:30:07 328

原创 STL——vector

STL中最常用的容器是vector,可以理解为数组。用法介绍:1.vector<类型>标识符//int型vectorvector<int> vectInt;2.vector<类型>标识符(最大容量)//int型vector,包含3个元素vector<int> vecIntA(3);3.vector<类型>标识符(最大容量,初始所有值)//int型vector,包含3个元素且每个元素都是9vector<int&gt

2022-05-15 20:45:17 224

原创 C语言——静态创建链表(增删改查)

#include <stdio.h>#include <stdlib.h>struct LinkList{ int data; struct LinkList *next;};//遍历链表void printLinkList(struct LinkList *head){ struct LinkList * point; point = head; while(point != NULL) { printf("%d ",point->data);.

2022-03-17 23:34:52 936

原创 C++常考基础概念

一.常考C++基础概念1.C++三大特性(封装、继承、多态)封装:隐藏类的属性和实现细节,仅仅对外提供接口,封装性实际上是由编译器去识别关键字public、private和protected来实现的,体现在类的成员可以有公有成员(public),私有成员(private),保护成员(protected)。私有成员是在封装体内被隐藏的部分,只有类体内说明的函数(类的成员函数)才可以访问私有成员,而在类体外的函数时不能访问的,公有成员是封装体与外界的一个接口,类体外的函数可以访问公有成员

2022-02-21 09:14:30 5610

原创 交叉编译相关内容----软硬链接简单介绍

1、交叉编译是什么,为什么要交叉编译介绍交叉编译之前,我们先了解一下什么是编译:在一个平台上生成在该平台上的可执行代码。交叉编译:在一个平台上生成另一个平台上的可执行代码。例如:我们在Ubuntu上面编写树莓派的代码,并编译成可执行代码,如a.out,注意,是在树莓派上面运行,不是在Ubuntu上面运行。为什么要交叉编译:平台上不允许或不能够安装我们所需要的编译器,如C51。目的平台资源匮乏,无法运行我们所需要的编译器。树莓派是不是不需要交叉编译,错误,当然要,有时目的平台还没有建立,连操作系

2021-12-30 19:04:10 224

原创 Android Camera 相关名词

HAL:硬件抽象层(Hardware Abstraction Layer)AIDL:Android Interface Definition Language,即Android接口定义语言。HIDL:全称是HAL interface definition language(硬件抽象层接口定义语言)V4L2:Video for linux2的简称,为linux中关于视频设备的内核驱动KMD:内核模式驱动程序; 内核模式驱动;...

2021-12-29 18:02:52 142

原创 C++的文件操作

在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符:1、插入器(<<)向流输出数据。比如说系统有一个默认的标准输出流(cout),一般情况下就是指的显示器,所以,cout<<"Write Stdout"<<'/n';就表示把字符串"Write Stdout"和换行字符('/n')输出到标准输出流。2、析取器(>>)从流中输入数据。比如说系统有一个默认的标准..

2021-11-23 21:42:03 596

原创 C++QT

一.按钮控件常用1.创建 QPushButton *btn = new QPushButton;2.设置父亲 setParent();3.设置文本 setText();4.设置窗口大小 resize();5.设置标题 setWindoeTitle();6.设置固定大小 setFixedSize();7.设置位置 move();二.QT对象树介绍...

2021-11-17 16:04:42 1133

原创 Linux高级指令

1.hostname指令含义:操作服务器的主机名(读取,设置)用法1:hostname 含义:表示输出完整的主机名用法2:hostname -f 含义:表示输出当前主机名的FQDN(全限定域名)2.id指令含义:查看一个用户的一些基本信息(包含用户id,用户组id,附加组id...),该指令如果不指定用户,则默认当前用户。用法2:id 用户名 显示指定用户的信息3.whoami指令含义:显示当前登录的用户名(一般用于shell脚本)4.ps -ef指令(...

2021-11-15 20:24:36 860

原创 Linux进阶指令

1.df指令 -h以可读性较高的形式显示含义:查看磁盘的空间语法:kj@ubuntu:~$ df -h2.free指令 -m以Mb为单位查看含义:查看内存使用情况语法:kj@ubuntu:~$ free -m

2021-11-11 22:06:15 777

原创 Linux基础指令(vim常用指令)

1.ls指令用法1:kj@ubuntu:~$ ls含义:列出当前工作目录下的所有文件/文件夹的名称用法2:kj@ubuntu:~$ ls Downloads/含义:列出指定路径下的所有文件/文件夹的名称

2021-11-07 21:25:24 1058

原创 fgets(st,n,stdin)function函数

#include <stdio.h>#include <string.h>char *s_gets(char *st,int size);int main(){ char book[24] = {0}; printf("请输入你的书名:\n"); s_gets(book,24); printf("你输入的书名为:%s\n",book); return 0;}char *s_gets(char *st,int size){ char *ret_val; .

2021-10-22 23:09:58 518

原创 进程间通信(IPC)——信号量

信号量(semaphore)与已经介绍过的 IPC 结构不同,它是一个计数器。信号量用于实现进程间的互斥与同步,而不是用于存储进程间通信数据。特点:1. 信号量用于进程间同步,若要在进程间传递数据需要结合共享内存。2. 信号量基于操作系统的 PV 操作,程序对信号量的操作都是原子操作。3. 每次对信号量的 PV 操作不仅限于对信号量值加 1 或减 1,而且可以加减任意正整数。4. 支持信号量组。原型:最简单的信号...

2021-09-22 17:58:10 701 1

原创 进程间通信(IPC)——共享内存

linux查看系统中的共享内存:ipcs -m删除共享内存:ipcrm -m 共享内存id号共享内存(Shared Memory),指两个或多个进程共享一个给定的存储区。特点: 1.共享内存是最快的一种 IPC,因为进程是直接对内存进行存取。 2. 因为多个进程可以同时操作,所以需要进行同步。 3. 信号量+共享内存通常结合在一起使用,信号量用来同步对共享内存的访问。原型:#include <sys/ipc.h>#i...

2021-09-18 15:30:31 221

原创 进程间通信(IPC)——消息队列

消息队列,是消息的链接表,存放在内核中。一个消息队列由一个标识符(即队列ID)来标识。特点: 1.消息队列是面向记录的,其中的消息具有特定的格式以及特定的优先级。 2.消息队列独立于发送与接收进程。进程终止时,消息队列及其内容并不会被删除。3.消息队列可以实现消息的随机查询,消息不一定要以先进先出的次序读取,也可以按消息的 类型读取。原型:#include <sys/types.h>#includ...

2021-09-17 20:45:44 256

原创 进程间通信(IPC)——FIFO(命名管道)

FIFO,也称为命名管道,它是一种文件类型。特点: 1.FIFO可以在无关的进程之间交换数据,与无名管道不同。2.FIFO有路径名与之相关联,它以一种特殊设备文件形式存在于文件系统中。原型:SYNOPSIS #include <sys/types.h> #include <sys/stat.h> int mkfifo(const char *pathname, mode_t mode)...

2021-09-16 15:50:28 415

原创 进程间通信(IPC)——管道

管道通常指无名管道,是 UNIX 系统IPC最古老的形式。特点: 1.它是半双工的(即数据只能在一个方向上流动),具有固定的读端和写端。 2.它只能用于具有亲缘关系的进程之间的通信(也是父子进程或者兄弟进程之间)。 3.它可以看成是一种特殊的文件,对于它的读写也可以使用普通的read、write 等函数。但是 它不是普通的文件,并不属于其他任何文件系统,并且只存在于内存中。原型:当一个管道建立时,它会创建两个文...

2021-09-15 17:22:08 385

原创 exec配合fork使用

实现功能,当父进程检测到输入为1的时候,创建子进程把配置文件的字段值修改掉源文件file1字段值改后:better=8代码示例:#include <stdio.h>#include <sys/types.h>#include <unistd.h>#include <stdlib.h>#include <sys/wait.h>int main(){ int data; ...

2021-09-14 15:26:03 110

原创 进程创建相关知识点

创建进程可以用fork()和vfork()函数,二者用法类似/*NAME fork - create a child process*///SYNOPSIS #include <sys/types.h> #include <unistd.h> pid_t fork(void);/*RETURN VALUE On success, the PID of the child process is retu

2021-09-14 13:42:36 85

原创 C++捕获异常

你可以在定义一个函数时明确地表明你想让他抛出一个异常,为了表明你想让他抛出哪种类型的异常可以使用如下所示语法:type functionName(arguments)throw(type)如果没有使用这种语法来定义函数,就意味着函数可以抛出任意类型异常。使用异常的基本原则:应该只用他们来处理确实可能不正常的情况。#include <iostream>#include <climits>//unsigned long returnFactorial(unsign

2021-08-23 14:59:37 553

原创 C++运算符重载(有理数加减乘除)重载运算符<<

#include <iostream>#include <string>#include <stdlib.h>class Rational{public: Rational(int num,int denom); //num == 分子,denom == 分母 Rational operator+(Rational rhs); // rhs == right hand side Rational operator-(Rational rhs); R.

2021-08-20 22:07:43 204 1

原创 C++运算符重载(有理数+-*/)

#include <iostream>#include <string>#include <stdlib.h>class Rational{public: Rational(int num,int denom); //num == 分子,denom == 分母 Rational operator+(Rational rhs); // rhs == right hand side Rational operator-(Rational rhs); R.

2021-08-20 22:02:01 176

原创 基于WemosD1无线遥控灯(433m射频模块)

接线图:实物图:代码示例:#define JIDIANQI D4#define OPEN D5#define CLOSE D6void jiDianQi()//继电器初始化{ pinMode(JIDIANQI,OUTPUT); digitalWrite(JIDIANQI,HIGH); }void setup() { jiDianQi(); pinMode(OPEN,INPUT);//初始化引脚 pinMode(CLOSE,INPUT);..

2021-08-12 17:43:41 497

原创 LINUX 常用指令

ipcs -m 查看共享内存

2021-08-12 15:41:39 44

原创 智能垃圾桶(超声波测距,SG90舵机,Wemos D1)

实物图:实物图:WemosD1特性1. 基于ESP-8266EX2. Arduino兼容,使用rduino IDE来编程3. 11 x I/O 引脚4. 1 x ADC 引脚(输入范围0-3.3V)5. 板载5V 1A开关电源(高输入电压24V)工作中:和stm32模块开发类似,集成度高STM32方案也更经济便宜超声波模块...

2021-08-12 15:36:46 2421 3

原创 c++实现cp指令

#include <iostream>#include <fstream>#include <string.h>using namespace std;int main(int argc,char *argv[]){ fstream Src; fstream Obj; int fileSize; char readBuf[1024] = {}; if(argc != 3){ .

2021-08-11 22:25:33 451

原创 Linux——实现cp指令

思路:1.打开src.c2.读src到buf3.打开/创建obj.c4.将buf写入到obj.c5.关闭src,obj代码示例:#include <stdio.h>#include <string.h>#include <stdlib.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <unist

2021-08-03 19:06:21 170 1

原创 Linux系统编程——文件打开创建的补充

int open(const char *pathname, int flags);int open(const char *pathname, int flags, mode_t mode);O_RDONLY只读打开 O_WRONLY只写打开 O_RDWR可读可写打开当我们附带了权限后,打开的文件就只能按照这种权限来操作。以上三个常数中只能选择一个。下列常数是可选择的。O_CREAT若文件不存在则创建它。使用此选项时,需要说明第三个参数mode,用其说明该...

2021-08-03 18:07:44 269

原创 Linux系统编程——文件

1.文件打开及创建函数原型int open(const char *pathname, int flags);int open(const char *pathname, int flags, mode_t mode);int creat(const char *pathname, mode_t mode);/*RETURN VALUE open(), openat(), and creat() return the new file descriptor, or -1 if...

2021-08-03 17:49:51 58

原创 树莓派交叉编译笔记

1. 交叉编译是什么,为什么要交叉编译 ======================================是什么?======================================= 交叉编译 是在一个平台上生成另一个平台上的可执行代码。 我们再windows上面编写C51代码,并编译成可执行代码,如xx.hex, 是在c51上面运行,不是在windows上面运行 ...

2021-07-26 15:00:45 60

原创 树莓派高阶开发课程

1. ubuntu18.04版本安装 让程序猿搭建环境太搞笑了,轻松easy!=======================================================================================================================2. 树莓派等芯片带操作系统的启动过程 C51,STM32(裸机)》》》》》》C直接操控底层寄存器实现相关业务。 业务流程型的裸机代码 ...

2021-07-26 14:59:54 117

原创 树莓派开发文档笔记—基础配置

1.树莓派刷机2.树莓派登录 方式:2.1HDMI视频线 连接到显示器 2.2 串口 2.2.1设备破解默认情况,树莓派的串口和蓝牙连接。想办法断开蓝牙连接,把串口用来数据通信https:...

2021-07-26 14:58:54 41

原创 Linux库概念及相关编程

Linux库概念及相关编程(面试重点)1.分文件编程案例 好处: 分模块的编程思想 网络 a 超声波b 电机c a.功能责任划分 b.方便调试 c.主程序简洁...

2021-07-26 14:43:05 122

最精简的驱动框架.docx

驱动框架精简.docx

2022-07-14

MyMusicPlayer1 music music

music zhuang lld dfhier

2022-02-14

Music.zip MP3音频内含流行音乐

MP3音频资源文件 做播放器可用

2022-02-09

计算机网络期末试卷.doc

计算机网络期末试卷.doc

2021-07-07

计算机网络 完整 - mini(1).docx

计算机网络 完整 - mini(1).docx

2021-07-07

计算机网络 完整 - mini.docx

计算机网络 完整 - mini.docx

2021-07-07

空空如也

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

TA关注的人

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