自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java泛型方法

Java泛型方法

2022-07-25 14:22:43 13048 1

原创 Java限制泛型可用类型与泛型通配的方式

Java限制泛型可用类型与泛型通配的方式

2022-07-25 11:11:03 779

原创 Java泛型概念及作用

Java泛型概念及作用

2022-07-25 10:41:35 2715

原创 Java异常概念及处理

Java异常概念及简单捕获处理

2022-07-25 08:53:17 404

原创 Java多态的概念及简单实现

Java多态的概念及简单实现案例

2022-07-22 09:39:48 2360

原创 Java成员内部类和匿名内部类的应用

Java成员内部类和匿名内部类的应用

2022-07-22 08:56:26 599

原创 Java接口及使用

接口概念及使用

2022-07-22 07:55:52 320

原创 Java抽象类方法和抽象类

Java抽象类方法和抽象类简述

2022-07-21 22:45:14 1146

原创 Java继承之object类、继承小练习和继承简单工厂模式

Java继承之object类、继承小练习和继承简单工厂模式

2022-07-21 17:47:39 548

原创 Java继承之super关键字、继承私有权限和方法重写

Java继承之super关键字、继承私有权限及方法重写

2022-07-21 15:32:57 951

原创 Java继承的概念及用法

简要说明Java继承的概念及实现方法

2022-07-21 14:31:19 459

原创 Java封装之this关键字、static关键字、包简述

Java封装关键字及方法重载

2022-07-21 09:50:37 206

原创 Java类的封装的概念

Java类的封装概念及其实现方法

2022-07-21 08:46:56 1908 1

原创 通过对文件进行读写实现对配置文件的修改

简单实现对Linux系统下的配置文件进行修改

2022-06-15 17:21:31 175

原创 基于Linux实现自己cp复制文件指令

对文件进行创建以及读写操作简单实现Linux系统cp指令

2022-06-15 15:02:10 405

原创 【无标题】基于ncurses库简单设计贪吃蛇游戏

基于ncurse库创建蛇的二位坐标结构体并创建线程来实现游戏界面的动态刷新

2022-06-14 15:19:52 553

原创 创建动态链表设计简单学生成绩信息管理系统

通过动态创建班级和学生两个链表来来设计一个简单的班级学生成绩信息管理系统

2022-06-14 14:42:22 666

原创 typedef关键字的理解

typedef为C语言的关键字,作用是为一种数据类型定义一个新名字,这里的数据类型包括内部数据类型(int、char等)和自定义的数据类型(struct等),和struct来匹配是为了代码更加简洁和普通类型匹配,通过名字来获取一些信息#include <stdio.h>#include <stdlib.h>typedef unsigned char u_int8; //(0-255)typedef unsigned short int u_int16;typedef

2022-05-31 09:39:31 151

原创 结构体大小对齐计算方式

结构体大小计算遵循两条规则:1. 结构体大小成员的偏移量必须都是成员大小的整数倍(0被认为任何数的整数倍)2. 结构体大小必须是所有成员(数组、结构体除外)大小的整数倍ps:对齐方式很浪费空间,可是按照计算机得访问规则,这种对齐方式提升了效率(1)普通结构体1struct S1 //24{ char ch1; //1 偏移值:0 char大小为1,0是任何整数的整数倍 char ch2; //1 偏移值:1 int i; //2+4 偏移值:2

2022-05-31 08:25:23 147

原创 指针数组与数组指针的区别以及指针需要注意的问题

初学指针需要注意的细节问题

2022-05-26 08:19:33 105

原创 字符之间、字符串之间比较的方法以及需要的问题

字符之间的比较通过"=="进行直接判断char s1 = 'c';//定义一个字符变量s1,内容是cchar s2 = 'd'; //定义一个字符变量s2,内容是dif(s1==s2){//通过==判断是否相同 //相等}字符串之间的比较(stcmp,strncmp)(1)通过调用C库函数strcmp,其声明原型如下:int strcmp(const char *str1, const char *str2)#include <stdio.h>#include.

2022-05-19 16:07:22 1426

原创 树莓派3B扩容及安装mjpg-streamer

一、扩容将树莓派磁盘空间扩容至SD卡真实内存大小,我的SD卡size是8G的,扩容前克隆mjpg-streamer的码源显示:fatal: 不能创建工作区目录 ‘mjpg-streamer’: 设备上没有空间。sudo raspi-config确定后,选择【Finish】后,重启即可,df -h查看现在的磁盘空间(根目录从3.1G变成了7.3G):二、安装mjpg-streamer前准备工作2.1更新软件1|sudo apt-get update #更新软件列表2|sudo a

2022-01-11 20:39:43 744

原创 调用libcurl库获取人脸识别结果

一、openssl库的编译安装二、libcurl库编译安装1.网页下载curl-7.71.1.tar.gz压缩包通过共享文件夹将其拷贝至工作目录下新建的httpHandler文件中并解压并进入解压后文件即curl-7.71.11|tar -vxf curl-7.71.1.tar.gz2|...

2021-12-28 21:09:00 717

原创 基于基本框架简单实现树莓派IO口驱动代码的编写

1. 驱动代码实现:#include <linux/fs.h> //file_operations声明#include <linux/module.h> //module_init module_exit声明#include <linux/init.h> //__init __exit 宏定义声明#include <linux/device.h> //class devise声明#includ

2021-12-08 17:40:05 884

原创 基于框架编写驱动代码并加载驱动进行测试

对于内核驱动代码编写而言,它不像我们写FTP项目那样完全是一步步编写完成,驱动代码编写是基于内核特定框架编写得,里面涉及到底层相关得API也是不要我们去记忆得,我们只需要去注意基于框架编写驱动、加载驱动、测试驱动、查看内核打印信息如何实现即可。1. 内核驱动基本框架(精简版):驱动代码:#include <linux/fs.h> //file_operations声明#include <linux/module.h> //module_init

2021-12-05 15:28:15 241

原创 Linux内核驱动认知

参考文章链接:https://blog.csdn.net/liangkaiming/article/details/6234238对于Linux操作系统而言,有着“一切皆文件”的说法,对于鼠标、键盘、led、屏幕、flash、内存、网卡而言,它们都是以文件的形式存在着。关于文件系统中的文件相关API,VFS都已经封装好了,供用户使用。显然,如果我们要对设备文件进行读写操作,我们要知道它的文件名还有设备号(包括主设备号和次设备号),而驱动链添加驱动模块时也是按主设备号进行添加操作的。同时,要实现自己预设的驱

2021-12-02 15:25:16 262

原创 对Linux文件系统以及内核结构的基础认知

1. 什么是文件系统?常规认知: 文件系统即根目录,严格意义上讲根目录其实不能完完全全代表文件系统,但这样认为其实也能接受。文件系统:文件系统是操作系统用于明确存储设备组织文件的方法,该方法就是文件管理系统(程序),简称文件系统。也可以说是操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。2. 文件系统(文件管理系统的方法)的种类有哪些?FAT 、VFAT 、NTFS、EXT1/2/3/4 、HFS …对于Windows而言,它的文件系统是NTFS,那Linux的文件系统

2021-12-01 16:41:32 640

原创 配置Linux内核适合树莓派相关操作

1.树莓派等芯片带操作系统的启动过程C51,STM32(裸机)》》》》》》C直接操控底层寄存器实现相关业务。 业务流程型的裸机代码遥控灯: while(1)垃圾桶:WemosD1 LOOP恩智浦智能车: stm32X86,Intel windows启动过程: 电源 -》 BIOS -》windows内核-》C,D盘-》 程序启动(QQ) 嵌入式产品: 树莓派,mini2440, mini6410,nanopi,海思,RK(瑞芯微)------人脸识别打卡器,智能家居主控。。。 启动过

2021-11-30 11:27:21 235

原创 【无标题】交叉编译概念以及交叉编译工具链的安装

1.交叉编译是什么首先了解什么是编译?编译:是在一个平台上生成在该平台上的可执行代码。交叉编译:简单来说,就是在一个平台上生成另一个平台上的可执行代码。比如, 我们再windows上面编写C51代码,并编译成可执行代码,如xx.hex,是在c51上面运行,不是在windows上面运行。再比如,我们在ubuntu上面编写树莓派的代码,并编译成可执行代码,如a.out,是在树莓派上面运行,不是在ubuntu linux上面运行。同时,C51、stm32交叉编译的发生在keil(集成环境上面)2.为什么要

2021-11-30 09:12:58 419

原创 简单实现基于Linux的FTP网络云盘项目

1.服务端代码实现#include <stdio.h>#include <sys/types.h>#include <sys/socket.h>#include <arpa/inet.h>#include <unistd.h>#include <string.h>#include <stdlib.h>#include <netinet/in.h>#include "config.h"#incl

2021-11-20 16:17:06 957

原创 信号量编程简要实现

参考原文链接:https://blog.csdn.net/baidu_38621657/article/details/105724822信号量(semaphore)与已经介绍过的 IPC 结构不同,它是一个计数器。信号量用于实现进程间的互斥与同步,而不是用于存储进程间通信数据。1.特点1.信号量用于进程间同步,若要在进程间传递数据需要结合共享内存。2.信号量基于操作系统的 PV 操作,程序对信号量的操作都是原子操作。3每次对信号量的 PV 操作不仅限于对信号量值加 1 或减 1,而且可以加减任意

2021-10-22 15:55:53 449

原创 信号实现进程间发送接收数据

**信号实现进程间发送接收数据**原文链接:https://www.jianshu.com/p/f445bfeea40a

2021-10-22 08:38:00 124

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

参考原文链接1:进程间通信(IPC)介绍_tangtang_yue的博客-CSDN博客参考原文链接2:进程间通信——共享内存(Shared Memory)_ypt-CSDN博客_共享内存共享内存(Shared Memory),指两个或多个进程共享一个给定的存储区。1.特点 共享内存是最快的一种 IPC,因为进程是直接对内存进行存取。 因为多个进程可以同时操作,所以需要进行同步。 信号量+共享内存通常结合在一起使用,信号量用来同步对共享内存的访问。 2.相关API

2021-10-20 22:59:54 138

原创 消息队列通信相关API简述

原文链接:进程间通信(IPC)介绍_tangtang_yue的博客-CSDN博客_进程间通信(ipc)介绍消息队列,是消息的链接表,存放在内核中。一个消息队列由一个标识符(即队列ID)来标识。1.特点 消息队列是面向记录的,其中的消息具有特定的格式以及特定的优先级。 消息队列独立于发送与接收进程。进程终止时,消息队列及其内容并不会被删除。 消息队列可以实现消息的随机查询,消息不一定要以先进先出的次序读取,也可以按消息的类型读取。 2.相关API1 #include

2021-10-20 14:46:12 242

原创 管道通信原理简述

原文链接:进程间通信(IPC)介绍_tangtang_yue的博客-CSDN博客_进程间通信(ipc)介绍一.无名管道(pipe)1、特点: 它是半双工的(即数据只能在一个方向上流动),具有固定的读端和写端。 它只能用于具有亲缘关系的进程之间的通信(也是父子进程或者兄弟进程之间)。 它可以看成是一种特殊的文件,对于它的读写也可以使用普通的read、write 等函数。但是它不是普通的文件,并不属于其他任何文件系统,并且只存在于内存中。 ...

2021-10-20 08:26:21 1076

原创 popen()函数简述

原文:https://blog.csdn.net/libinbin_1014/article/details/51490568相比于system函数,popen()函数可以获取运行的输出结果。popen()函数代码实现:#include <stdio.h>#include <stdlib.h>#include <unistd.h>//FILE *popen(const char *command, const char *type);//int p

2021-10-19 16:07:46 283

原创 system()函数功能简述

原文链接:linux system函数详解 - 南哥的天下 - 博客园system()函数的返回值如下: 成功,则返回进程的状态值; 当sh不能执行时,返回127; 失败返回-1;在前面写exec族函数文章中得代码示例中

2021-10-19 14:12:14 447

原创 linux进程---exec族函数(execl, execlp, execle, execv, execvp, execvpe)

exec族函数函数的作用:我们用fork函数创建新进程后,经常会在新进程中调用exec函数去执行另外一个程序。当进程调用exec函数时,该进程被完全替换为新程序。因为调用exec函数并不创建新进程,所以前后进程的ID并没有改变。在调用进程内部执行一个可执行文件。可执行文件既可以是二进制文件,也可以是任何Linux下可执行的脚本文件。1.execl()代码实现://文件execl.c#include <stdio.h>#include <stdlib.h>#in

2021-10-19 08:59:00 2403

原创 父进程等待子进程退出

1.为什么要等待子进程退出父进程等待子进程退出 并收集子进程的退出状态。子进程退出状态不被收集,变成僵死进程(僵尸进程)。2.相关函数(wait()、waitpid())区别: wait使调用者阻塞,waitpid有一个选项,可以使调用者不阻塞。wait()代码实现:#include <stdio.h>#include <sys/types.h>#include <unistd.h>#include <stdlib.h&...

2021-10-18 13:12:06 622

原创 关于进程地退出

一.正常退出1.Main函数调用return2.进程调用exit(),标准c库3.进程调用_exit()或者_Exit(),属于系统调用4.进程最后一个线程返回5.最后一个线程调用pthread_exit二.异常退出1.调用abort2.当进程收到某些信号时,如ctrl+C3.最后一个线程对取消(cancellation)请求做出响应三.总结...

2021-10-18 09:18:44 56

空空如也

空空如也

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

TA关注的人

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