自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 c++面试八股文-3

本文摘要:介绍了C++中变量存储位置与作用域、构造函数与析构函数、类与结构体区别、深浅拷贝以及友元和继承机制。全局变量存储在静态区,局部变量存储在栈区;构造函数分为无参/有参和普通/拷贝构造;类默认private访问,结构体默认public;浅拷贝共享内存,深拷贝独立内存;友元允许访问私有成员;继承涉及访问控制、构造顺序和菱形继承问题。重点阐述了对象初始化与清理机制,以及继承中的成员访问规则,为C++面向对象编程提供了基础概念框架。

2026-01-06 00:18:31 576

原创 c++面试八股文-2

本文主要介绍了内存管理和指针相关的核心概念。在内存泄漏部分,通过"客厅箱子"的比喻形象解释了内存泄漏现象及其危害,并建议使用智能指针作为解决方案。指针部分详细阐述了野指针的产生原因及防范措施,包括指针初始化、释放后置空等问题。同时介绍了数组指针与指针数组、函数指针与指针函数的区别,并通过代码示例展示了指针和引用在自增操作时的不同行为。最后对比了指针与引用的核心区别,包括初始化要求、可变性和空值处理等方面。全文通过生活化比喻和代码实例,帮助理解这些重要的编程概念。

2026-01-04 23:16:02 814

原创 c++面试八股文-1

本文摘要:文章系统介绍了C++核心概念,包括指针与引用的区别、const关键字的多种用法(常量指针、指针常量、函数修饰等)、volatile的作用场景(中断、多线程、硬件访问)。详细解析了static关键字的四种应用(全局/局部变量、类成员),对比了#define与const、new/delete与malloc/free的差异。此外,还阐述了strlen与sizeof的区别、struct与union的内存机制、typedef与#define的本质差异,并通过代码示例展示了函数指针的用法。全文以技术对比为主线

2026-01-02 01:16:45 649

原创 conda复制已有环境

conda复制现有环境

2026-01-25 10:40:34 56

原创 linux下驱动开发

uboot属于bootloader的一种,Linux系统的启动必须要一个bootloader程序,用于将Linux内核从flash(NANDSDMMC等拷贝到DDR中,最后启动Linux内核,这是uboot的主要任务之一。一般来讲我们所使用的uboot都是半导体商定制的uboot,区别于原始的uboot。

2026-01-21 23:54:42 590

原创 优化RK3588模型部署:NPU加速实战

模型→ONNX→RKNN→板端推理将PC 端训练的模型(PyTorch/TensorFlow)转换为 ONNX 中间件,再通过RKNN Toolkit2工具将中间间转换为RKNN ,然后将其拷贝到 RK3588 ,最终板端用 RKNNLite 加载并推理。

2026-01-21 00:10:22 94

原创 嵌入式项目-项目实践

摘要:本文设计了一套智能家居监测系统,通过传感器实时采集室内温度、湿度、光照度、CO2和天然气浓度等数据,并在QT界面显示。当检测到CO2、天然气浓度超标或温度过高时,系统会触发本地声光报警并发送警报至指定手机。系统支持语音交互和触摸屏两种控制方式,实现了家居环境的智能化监测与报警功能。

2026-01-15 00:13:23 27

原创 c++面试-项目知识点-线程间通信(传输数据)

摘要:线程间通信的核心是共享内存和同步机制。主要方式包括:1)共享变量配合互斥锁保证安全;2)条件变量实现"等待-唤醒"机制;3)信号量控制并发访问。I2C协议适用于多设备、低速场景,SPI协议则更适合高速、全双工通信。选择协议需考虑外设数量、传输速度等因素。线程通信相比进程通信更高效,因其共享进程地址空间,只需关注数据安全共享而非跨内存传递。

2026-01-14 00:01:11 297

原创 c++随笔记录

本文总结了C++基础与核心编程的关键知识点,主要包括:1. C++基础部分:详细介绍了sizeof与strlen的区别、三目运算符、数组名作用、指针与引用、const关键字、结构体等核心概念;2. C++核心编程:重点讲解了面向对象的三大特性(封装、继承、多态),包括类的构造/析构函数、深/浅拷贝、this指针、友元等特性,以及继承方式和多态实现;3. 内存管理:对比了new/delete与malloc/free的区别,分析了define与const/typedef的差异;4. 特殊关键字:解释了stati

2026-01-12 00:01:09 937

原创 多线程死锁

死锁是指,导致所有线程都陷入永久阻塞的状态。

2026-01-09 14:45:29 324

原创 原理图绘制问题总结和操作

图1:网络标签位置与导线位置对齐(对比图2与图3中的ADB2网络标签的位置)图2图3。

2026-01-03 15:50:09 312

原创 正点原子IMX6ULL Linux系统固化(烧写)

Mfgtool2-eMMC-ddr512-eMMC进行系统固化;(固化到EMMC,mfgtool先向板子上的DDR下载一个Linux系统,然后用这个Linux系统完成后续的烧写工作)注3:在固化(烧录)过程总,连接板端串口,通过MobaXterm查看固化的过程比较直观感受每步的操作。3.因为是基于USB_OTG固化带EMMC,固化完成后,拨码开关调整至EMMC模式。USB-OTG连接,这里查看一下数据线是不是只有充电功能,没有数据传输功能。连接成功后出现下图2所示的界面。,但是电脑与板端已经通过。

2025-12-29 23:29:47 246

原创 Linux学习笔记

套用韦神的路线:学习linux先学应用,再驱动,再项目。

2025-12-28 23:50:14 882

原创 ubuntu下基于vim的CMAKEList.txt程序编译运行

首先明确,程序的编译主要两种方式,基于CMAKEList.txt(cmake ..)的方式和命令行gcc的方法(gcc hello.c -o hello,hello就是你最后的可执行文件)。当存在多个相互调用的cpp文件时,基于CMAKEList.txt的方法会有更大的优势,故而本文针对第一种方法进行解释说明。:表示「OpenCV 是必须的依赖」,如果找不到 OpenCV(比如没安装),CMake 会直接终止并报错,避免后续编译 / 链接失败;这里更具需求不同,代码功能不同,不再赘述。

2025-12-15 20:03:53 295

原创 按键扫描函数(正点原子)

,key_up被初始化为1,此时如果有按键按下,进入if(key_up&&(KEY0==0||KEY1==0||WK_UP==1))语句,key_up被赋值为0,并且返回返回值参与下一步的逻辑运算,此时等待此次操作结束,再次调用key=KEY_Scan(0);函数时,key_up被再次赋值为1,如果此时再有按键按下,继续上述的操作。总结来讲,上述(u8 KEY_Scan(u8 mode))函数主要时检测是否有按键按下的函数,如果有按键按下,并且返回到底是那个按键按下。//标记按键已经被按下。

2025-05-21 00:42:15 626

原创 stm32工程创建

如果利用stm32开发一个新的功能应用,从头开始搭建工程非常慢,这时我们可以利用已有的工程去进行开发(站在巨人的肩膀去看世界),这里我们以正点原子工程为例,讲述如何添加新的功能。2.接着利用keil打开.uvprojx文件,点击下图2红框所示的位置,创建key.c和key.h文件,将文件保存在上图红框所示的文件夹下面;3.接着双击HARDWARE将key.c文件添加到工程中,如下图3所示,添加完成后,会在左侧HARDWARE文件夹下面看到key.c文件;4.添加key.h头文件,如下图4所示。

2025-05-19 22:56:55 380

原创 ubuntu下安装labelme

在ubuntu下安装labelme首先应安装anaconda,anaconda下载可以从ubuntu下网页直接下载,但是我发现特别慢,所以我先在windows下下载好linux下对应的anaconda。下载好anaconda后使用如下命令安装anaconda。包含了安装包所在路径。

2024-12-11 21:45:41 970

原创 windows与服务器和Ubuntu之间通过FZ互传文件

在下图所示红框内依次输入(这个好像没有特定限制),然后点击连接过程会在红框下面的区域显示;

2024-12-11 21:12:05 414

原创 python文件生成可执行exe文件

注意:这里的your_script.py为你想要生成exe文件的python文件名称。执行完打包命令后,PyInstaller 会在你的工作目录下创建一个。文件夹,里面会包含一个 your_script.exe。文件(如果你指定的 Python 文件名是。会根据你的 Python 文件自动生成一个。文件就是你要生成的可执行文件。文件,指定如何打包应用程序。

2024-11-13 20:30:00 398

原创 Vmware Ubuntu 16.04 虚拟机磁盘扩容方法

Ubuntu 16.04 扩容

2023-08-03 13:06:17 350

空空如也

空空如也

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

TA关注的人

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