自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 c++中类的继承

在c语言中会用到进行代码的重用,在c++中可以将相同的特点(有共同的特性)来进行代码的复用,在设计具体的只需要关注对象的独有的特性。

2025-09-25 02:24:24 341

原创 cpp类与对象

类(class)是C++有别于C语言的最重要的概念之一,正是因为有了类的概念,C++才拥有了所谓面向对象(OOP,即Object Original Programming)的编程模式可以理解为功能更强大的结构体。

2025-09-23 20:12:34 385

原创 名字空间,异常与匿名函数

定义一个名字空间,实际上就是定义一个作用域,在名字空间中可以定义变量、函数等。

2025-09-20 22:13:04 365

原创 无痛c到c++

跟C语言一样,C++的源码文件前面一般都会包含头文件的预处理语句。

2025-09-20 19:51:24 3803

原创 线程池示例代码详解

线程的创建和销毁都是需要额外的系统资源的,如果线程的生命周期很短,那么相对于实际干活的时间,来回重复创建和销毁就显得很不划算,但也不能让线程执行完任务之后耗着不走,因此就需要一个比较科学合理的布局,来管控线程。所以就引出了概念。

2025-08-20 01:21:16 2256

原创 线程的死锁以及解决方式

同时操作共有资源引出线程的同步互斥机制防止死锁引出上述两种方式,防止死锁在线程中使用,静态变量,临时变量, 堆内存的数据需要格外注意。

2025-08-19 17:27:58 489

原创 posix信号量

POSIX 具名信号量主要用在多进程间同步互斥,其 P/V 操作与匿名版本无异,其最大的特点是存在于文件系统 /dev/shm 中,可以被系统中任意有权限的进程打开。:若程序被强行退出,或崩溃,posix信号量可能造成损坏从而导致程序死锁。关闭后的文件也是一直存在的,删除API一下。不再需要的时候应该予以关闭。使用一下进行创建和打开。

2025-08-18 20:20:46 489

原创 线程基本API

希望某个函数只被严格执行一次,并且需要在程序一开始进行执行,由于线程的并发特性,我们无法预先知晓哪条线程会对信号量进行初始化,于是就希望有一种只执行一遍的。由于线程函数的并发性,在线程中访问共享资源需要特别小心,因为这些共享资源会被多个线程争抢,形成“竞态”。:如果线程既未被分离,也未被 pthread_join,可能会导致资源泄漏(僵尸线程)。:分离线程的终止状态无法被其他线程获取,因此如果需要线程的返回值,不能使用分离。可以设置线程是否接收取消,若不接收取消则取消信号无效,接收取消会在。

2025-08-17 22:09:08 764

原创 Linux守护进程

程序在终端打开默认会在前台进程组运行在运行后加上&,例如:在终端中:程序就被放在后台进行运行,此时不接受终端的控制,但是关闭控制终端会差生挂断信号(1),进程会收到信号每当我们打开一个伪终端,就会默认调用以下函数创建一个新的会话新建一个子进程去调用,并且子进程产生一个新的会话。

2025-08-17 13:34:43 358

原创 System V通信机制

在创建根据手册描述需要创建一个包含正文,和类型的结构体。

2025-08-15 22:50:02 1006

原创 IPC Inter-Process Communication(进程间通信)

进程间通信方式。

2025-08-13 22:42:23 389

原创 Linux进程基础

程序:编译后产生的,格式为ELF的,存储于硬盘的文件进程:程序中的代码和数据,被加载到内存中运行的过程程序是静态的概念,进程是动态的概念getpid():获取当前程序的进程号getppid():获取父级程序进程号。

2025-08-13 10:09:26 1002

原创 虚拟机网络配置

这样虚拟机就可以正常上网了有时,如果VMware的网络参数经过多次配置导致无法再正确联网,可以通过点击上图右边图表的左下角的 还原默认设置 按钮来重置虚拟机的网络。

2025-08-12 10:25:01 349

原创 squareline的使用

如果只是用ui的话只需要创建桌面版这里亲测如果你的工程为9版本的,使用8版本创建会无法运行,别创建错了这里需要注意的文件:将生成的整个ui工程直接复制到lvgl工程文件下修改lvgl工程中的Makefile文件,添加需要包含的头文件追加需要编译的.c文件

2025-08-06 01:18:26 544

原创 awk对文本进行列处理

sed对文件进行行处理,awk对文本进行列处理,grep,文本处理处理三剑客。

2025-08-03 21:41:52 335

原创 工具自动生成Makefile

创建库(1)对库里的源文件进行编译行为进行知道(2)顶层cmake调用底层cmake add_subdirectory(3)指定库文件的路径link_libraries(3)为需要生成的可执行文件添加库的链接target_link_libraries。

2025-08-02 18:58:21 1138

原创 LCGL使用说明

(1)纯c与语言编程,将面向对象的思想植入c语言。(2)轻量化图形库资源,人机交互效果好,在(ios Android QT)移植性较好,但是这些平台对硬件要求较高。

2025-07-31 23:28:08 972

原创 sed编辑文件

在sed命令里,3,$s/.$//是一段用于文本处理的规则,下面这就拆分成几个部分,给你详细讲讲每个符号的含义:3,$3代表第 3 行在sed里是一个特殊符号,专门用来表示最后一行。把它们用连起来3,$,整体的意思就是“从第 3 行开始,一直到文件的最后一行”。也就是说,下面的替换操作(s/.$//)会作用在这个范围内的每一行文本上。s/原内容/新内容/这是sed里最常用的替换操作格式s就是 “substitute(替换)” 的意思,整个结构就是告诉sed。

2025-07-31 00:04:49 854

原创 shell脚本

Shell脚本基础与常用语法摘要 本文介绍了Shell脚本的基础知识和常用语法。Shell脚本可在Linux终端和Windows PowerShell中运行,常见解释器包括bash、sh等。编写脚本时需注意不同解释器的差异,通常以.sh为后缀,首行指定解释器路径(如#!/bin/bash)。基本语法包括:变量使用不需括号但字符串需引号;特殊字符如引号、通配符的使用;管道符和重定向操作;反引号执行命令。数值运算可通过双括号或declare实现。test命令用于条件判断,支持数值、字符串和文件比较。分支结构包括

2025-07-30 22:18:11 999

原创 Makefile的使用

主要作用:提升编译的效率语言类型:弱脚本语言运行逻辑:检查目标文件是否存在,将目标文件的时间戳与以来条件的时间戳进行比较,若生成的目标文件是最新的就执行。

2025-07-30 00:44:40 1078

原创 动/静态库的原理及制作

动态库就像一个仓库其中包含为可执行文件,如果有文件需要调用,就进行提取,使用动态库编译的文件因为保存的地址所以文件大小相对较小,依赖系统环境。相当于2进制的.c文件,用来编译在文件内部,并且有相对较强的可移植性,若文件采用静态库进行编译,不依赖系统环境,但是文件体积相对较大。

2025-07-28 22:10:34 1070

原创 LCD触摸屏的操作

以触摸屏为例,当手指在屏幕上滑动的时候,数据流大致是这样的:驱动层中的触摸屏驱动会源源不断地产生触摸屏相关数据,并向上递送给内核输入子系统,输入子系统进一步将这些信息规整为统一的结构体,并借助事件触发层发往对应的设备节点,至此,应用程序即可从这些设备节点读取相关信息。值得注意的是,底层驱动产生的设备数据与上层应用读取设备数据是两个完全异步的过程,彼此之间是没有耦合和约束的,例如:当底层驱动产生的触摸屏坐标信息比应用层读取的速度要快时,应用程序将会丢失一部分坐标信息。输入事件发生的时间戳,精确到微秒。

2025-07-24 16:29:45 1000

原创 Linux下的lcd屏幕显示操作

色深决定了一个像素点所能表达的颜色的丰富程度,色深越大,色彩表现力越强。

2025-07-23 19:32:35 2412

原创 adb的使用

ADB(Android Debug Bridge)是一个命令行工具,用于与运行在Android设备上的应用程序进行通信。

2025-07-22 20:14:14 463

原创 开发板系统烧写

解压DriverAssitant_v5.12.zip,打开里面的应用程序,直接双击安装。解压烧写工具RKDevTool_Release_v2.92,打开里面的应用程序。重启开发板,通过先重启按键在紧急按下音量+,进入系统的烧写状态。升级之后的系统就开始支持USB协议adb与正常的编译。查看设备管理器是否出现。

2025-07-22 20:07:19 998 1

原创 芯片内置Linux连接终端连接

电源线,usb线连接ch340芯一般原理图标记如果显示下载失败先删除之后进行下载3.配置Mobaxtern(1)点击session->serial(2)点击Advanced Serial setting,选择波特率(Speed)为1500000具体自己的型号是多少需要查询,我这边是RK3568(3)点击重启按键,查看是否能查看到系统打印信息,并且输入linux命令进行测试。

2025-07-21 13:51:04 635

原创 stat,fstat, lstat, fstatat详解

/将时间戳转换为字符数组。例如st_mode得到文件类型的具体操作需要去man手册中inode(7)查找。执行成功则返回0,失败返回-1,错误代码存于errno。statbuf:返回一个结构体,记录指定文件下的信息。直接操作已打开的文件描述符,而不是通过文件路径。成功返回字符串的首地址,失败返回NULL;pathname:指定文件的路径。获取指定路径下文件的权限值。结构体中含有的时间需要查看。

2025-07-20 18:43:16 1142

原创 系统IO对于目录的操作

类型名称含义ino_td_ino文件节点号off_td_off;目录项的偏移量d_reclen;该目录项的大小d_type;文件的类型char文件名。

2025-07-18 16:32:30 290

原创 C库-标准IO

使用fopen()函数打开文件。使用fclose()函数关闭文件。使用fread()、 fgets()、fscanf()等函数读取文件。使用fwrite() 、 fprintf() 、fputc()等函数写入文件。使用fseek()函数移动文件位置指针。使用feof()、ferror()等函数检查文件状态。

2025-07-18 01:35:10 963

原创 Linux系统IO

两个函数原型,两个参数的函数适用于打开已经有的文件下面的三个参数适用于没有该文件进行创建,mode用来指定创建时文件的参数,其中mode参数可以用来8进制来表述。

2025-07-17 14:30:24 617

原创 main函数的参数说明

【代码】main函数的参数说明。

2025-07-17 10:37:13 657

原创 文件IO基本概念

任何一门语言在任何一个平台,一定会有文件上的读写/多任务的并发/网络通信,接下来介绍简单的文件io(input output),在linux下有“一切都是文件”为了让编程具备统一性。

2025-07-16 11:44:57 557

原创 配置使用SSH与VScode进行连接

点击加号添加在上方弹出的窗口添加。

2025-07-15 16:30:40 640

原创 Samba配置使用

将Linux系统中的文件共享给windows。

2025-07-15 15:36:44 945

原创 Linux文件类型

在Linux文件中都是树状结构。

2025-07-13 14:38:31 275

原创 Linux基础命令

1.VMware(独立环境), WSL(非独立环境), 服务器2Ubuntu (国际版,)两者区别不大,优麒麟属于对于国内。

2025-07-11 21:30:34 1216

原创 Linux基础

文件类型 文件权限 硬链接数 创建文件的用户名 该文件所在的组 文件大小 文件更新日期 文件名字。rwx:文件拥有者的权限(创建文件的人) 111 7。touch:更新文件操作时间(如果文件不存在则创建文件)r-x:文件所在组的成员权限 101 5。ls 目标文件 查看指定文件的信息。-:普通常规文件(硬盘存储类文件)l:软链接文件(快捷方式类型)s:套接字文件(进程间通信)c:字符设备驱动文件(硬件)p:管道文件(进程间通信)b:块设备驱动文件(硬件)

2025-07-11 20:45:41 310

原创 Winscp使用

左边是电脑上的内容,右边为服务器Linux环境下的系统,通过拖拽直接copy文件(双向传输)填入服务器的地址,在终端输入ifconfig命令。

2025-07-08 01:37:47 417

原创 Linux和MobaXterm基本安装和使用

MobaXterm,链接我放在下面了。

2025-07-08 01:26:59 2743 2

原创 蓝桥杯单片机国赛--核心难点

一般情况下都是使用一个old变量去检测上次和本次数值的变化效果视频。

2025-06-14 01:50:47 675

jpeg图片解码转码资源包

jpeg图片解码转码资源包

2025-08-04

Linux环境下LVGL开发源码

Linux环境下LVGL开发源码

2025-08-04

arm64位嵌入式开发工具链

arm64位嵌入式开发工具链

2025-08-04

arm环境的LVGL开发源码

arm环境的LVGL开发源码

2025-08-04

LCGL使用说明中freetype资源包

用于linux下的free type

2025-08-04

空空如也

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

TA关注的人

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