- 博客(45)
- 资源 (2)
- 收藏
- 关注
原创 c库、POSIX库、C++库、boost库之间的区别和联系
C 库函数:由 ANSI C 和 ISO C 标准定义,是 C 语言编程的基础组成部分,旨在为 C 语言提供通用的、基本的功能。POSIX:是 IEEE 制定的一系列标准,定义了操作系统与应用程序之间的接口规范,目标是让应用程序在不同操作系统上具有可移植性。Boost 库:由 C++ 社区开发和维护,是一个广泛使用的 C++ 库集合,提供了众多高质量、可移植且高效的库。C++ 标准库:由 ISO C++ 标准定义,是 C++ 语言的重要组成部分,随着 C++ 标准的不断更新而发展。
2025-03-21 23:24:11
551
原创 vscode+wsl2+bear+clangd配置教程
在VS Code中,打开设置(可以通过“File” -> “Preferences” -> “Settings”,或者使用快捷键。完成以上步骤后,重启VS Code就能连接到WSL 2中的 源码,并利用Clangd提供代码分析、自动补全、跳转定义等功能。),点击vscode的右上角类似文件图标”打开设置json“.然后在弹出的settings.json大括号中添加如下内容。文件)来理解项目的编译设置。在连接到WSL 2的VS Code窗口里,打开扩展市场,安装“Clangd”扩展。
2025-03-19 15:33:46
459
原创 uboot执行流程分析2
文件: 功能: 定义 CPU 的异常向量表和初始跳转。关键点:所有 ARM 异常向量(Reset、Undef、IRQ 等)在此定义。复位后执行第一条指令 ,跳转到 标签。2. 低级初始化(reset)文件: 功能: 关闭 MMU/Cache、初始化关键硬件、设置栈、跳转到 C 环境。2.2 设置 CPU 模式和栈2.3 调用板级初始化 文件: 或板级自定义文件示例(简化版):2.4 重定位 U-Boot 到 RAM功能:是重定位的 物理基础(代码复制到 RAM)
2025-02-19 10:06:17
699
原创 uboot流程分析
1. 启动阶段(汇编部分)入口点:通常位于(如ARM的关闭中断:防止初始化过程被打断。设置CPU模式:切换到管理员模式或安全模式。初始化关键硬件:如关闭MMU/Cache、配置时钟和内存控制器(通过函数)。重定位准备计算U-Boot在RAM中的目标地址(如将自身代码从ROM/Flash复制到RAM(重定位),提升执行速度。2. 早期C环境初始化设置堆栈:为C代码运行准备栈空间。调用初始化全局数据(gd_t结构体),保存硬件参数(如内存大小、波特率)。串口初始化(用于调试输出)。
2025-02-11 12:43:52
1057
原创 VS2019+Qt5.14.2+pcl-1.11.1+VTK-8.2.0环境配置
本教程是设定在一个从未配置过VS2019+qt5+PCL+VTK的windows环境中,从零开始配置点云开发环境,此环境配置比较烦锁,且很容易出错,笔者几年前试过在两个不一样的windows环境中,按同样的配置方法,一台电脑配置成功,另一台配置失败。失败的那台电脑配置稍差。此次因为要做点云相关项目,所以要重新搭建一下开发环境。回想以前的配置流程,只能记个大概了,其中一些配置细节也忘了。所以笔者以这次项目机会重新梳理一下配置流程。期间也参考了网上博文,一步一步配置并记录,因此有了此教程。
2024-12-29 02:22:43
897
原创 AES加密算法介绍
AES(Advanced Encryption Standard),即高级加密标准,是一种对称加密算法,被广泛应用于保护敏感信息的安全。
2024-10-21 13:53:24
4293
原创 python编程:如何添加usage使用说明)
在使用argparse时,你还可以自定义帮助文本,包括usage字符串。# 添加其他参数...# 你的程序逻辑main()在这个例子中,usage字符串被自定义为,其中%(prog)s是一个特殊字符串,它会被替换为你的脚本名。总的来说,argparse是处理命令行参数和生成usage说明的首选方法,因为它既强大又灵活。
2024-10-18 20:16:44
671
原创 常见校验算法介绍
原理通过一系列复杂的数学运算对输入的数据进行处理,最终生成固定长度的哈希值。只要输入数据稍有不同,生成的哈希值就会有很大差异。优点安全性很高,很难通过哈希值反向推导出原始数据,并且可以有效地用于检测数据的完整性,判断数据是否被篡改过。缺点计算过程复杂,计算开销较大。并且只能检测数据是否被篡改,不能对错误数据进行纠正。应用领域在文件校验方面可以确保文件在传输、存储等过程中不被破坏或篡改;在数字签名领域保障签名的安全性和可靠性;在密码存储方面能够对用户密码进行加密处理等。网页工具。
2024-10-11 11:03:42
1591
原创 硬件电路中高频信号终端电阻作用
在硬件电路中,高频信号终端电阻的作用至关重要。以下是对其作用的详细解释:终端电阻是一种固定阻值的,通常安装在电路的末端或传输线的两端。它的阻值与电路或传输线的相匹配,可以消除信号在传输线上的反射并提高信号质量。终端电阻通常采用与传输线特性阻抗相等的阻值,并且具有良好的功率处理能力。
2024-10-08 16:19:59
679
原创 阻抗计算公式
阻抗(Z)是用于描述电路中对交流电源的阻碍程度的物理量,其计算公式因电路中的不同元件而有所差异。以上公式是阻抗计算的基础,适用于大多数电路分析。在实际应用中,还需要根据具体的电路布局和元件参数进行详细的计算和分析。
2024-10-08 16:14:44
5962
原创 什么是阻抗?
阻抗(impedance)是用于描述电路中对交流电源的阻碍程度的物理量。在电学中,通常使用符号Z来代表阻抗。阻抗的定义是指交流电路中电压与电流之比的复数值,并且单位为欧姆(Ω)。
2024-10-08 16:12:53
1145
原创 shell编程:export导出变量在shell和Makefile中差异
在Makefile和Shell中,export命令的作用确实有一定的相似性,但具体的使用场景和效果有所不同。
2024-09-28 23:12:15
308
1
原创 shell编程:dirname命令获取路径详解
dirname命令是 Unix/Linux 系统中用于获取给定路径中的目录部分的命令。它不会改变当前工作目录,而是简单地分析提供的路径字符串,并输出该路径的目录部分。
2024-09-28 23:09:51
666
原创 Makefile编程:4种赋值差异
Makefile中的变量赋值方式各有特点,选择合适的赋值方式对于编写清晰、高效的Makefile至关重要。简单赋值(:=)适用于在定义时就需要确定变量值的情况;递归赋值()适用于变量值依赖于其他变量且这些变量的值可能在后续发生变化的情况;条件赋值(?)适用于为变量提供默认值的情况;追加赋值(+=)则适用于需要向变量追加额外值的情况。以上信息基于Makefile的通用特性和多个权威来源的资料整理得出,希望能对您有所帮助。
2024-09-28 23:04:29
526
原创 微信视频号导出视频软件
最近研究了一下微信视频号导出视频的方法,目前发现还是比较难搞,查了一些资料,写了一个可以导出视频的软件,目前还不完善,但是导出视频到本地还是没问题,先用着吧,后期再完善。链接:https://pan.baidu.com/s/14zVYDnWivOkRgAOcg-0FGA。测试:导出如下链接视频。导出到本地文件夹的视频。
2024-09-16 22:32:05
391
原创 ARM嵌入式——AMBA总线
AMBA总线是一种由ARM公司提出的高性能、低功耗的片上总线标准。它独立于处理器和工艺技术,旨在提供一种通用的、可扩展的、高效的片上通信方法。AMBA总线包含AHB(Advanced High Performance Bus)和APB(Advanced Peripheral Bus)两种总线类型。AHB总线是一种高性能的总线,用于连接处理器、存储器、DMA等高速组件。它支持突发传输模式,可以高效地进行大量数据传输。AHB总线的主设备和从设备都可以发起读写操作,但在某一时刻只能有一个主设备使用总线。
2023-11-01 14:34:25
297
1
原创 如何制作一款资源网站app
平时生活学习中我们会经常登录各种网站,比如看电影,看视频学习,找资料等等。有时想找到一个靠谱的网站,花了很长时间也找不到。我自己收集了很多好的网站,主要是找资源的,然后我做了一个导航app软件,用于一键直达。
2023-11-01 14:19:51
636
2
原创 c语言实现MD5算法
MD5加密文章目录MD5加密MD5介绍应用场景代码分析 (基于qt5.14.2)测试记录MD5介绍 1。 一种单向加密算法,即对明文加密,而不能通过密文得到明文。对原数据的任何改动,哪怕是1字节,得到的MD5值都有很大的区别。可以用公式表示:密文=Md5_calc(原文数据);应用场景1.密码认证;2.数据校验:代码分析 (基于qt5.14.2)md5.c#include <string.h>#include "md5.h"#define F(x,y,z) ((x &
2023-08-18 18:35:50
1349
1
原创 littlefs文件系统适配norflash和nandflash
鸿蒙littlefs文件系统适配norflash和nandflash,调试记录。
2023-04-12 14:11:19
2400
2
原创 用摇杆或北通手柄控制海康摄像头
今天没事看到家里有一款海康的网络摄像头,这个摄像头支持上下左右旋转,另外还可以镜头远近缩放。刚好家里又有一款摇杆和一个北通的手柄。想着写一个软件实现用手柄和摇杆控制摄像头运动,还能将实时画面显示在软件上,最后做出来的效果还是不错的。大概介绍一下这个软件的开发情况,先附上资料。资料下载:开发软件:qt5.14.2开发语言:c++测试摇杆:图马斯特(其它xbox摇杆也可以) 链接:http://support.thrustmaster.cn/zh/product/t-flight-hota.
2022-04-19 23:23:39
1839
1
原创 基于qt和sqlite的学生成绩数据库管理系统
简介:最近利用qt写了一个基于sqlite的学生成绩数据管理系统,主要实现对学生信息的管理,能实现一般的创建数据库,创建数据表,打开数据表,删除数据表,以及对数据表中信息的,增,删,改,查等功能。另外可以调出学生的图像。演示情况如下:登录界面主界面操作一:主界面操作二:资料下载地址:链接:https://pan.baidu.com/s/1lnLILRtRIcrfBrJtq63lTA 提取码:1234资料截图:...
2022-02-13 00:17:02
1205
原创 基于qt和mysql的学生数据库管理系统
说明:最近花了几天时间学习用qt开发mysql,并写了一个学生数据库管理系统,只当是练手,在写软件的时候遇到了很多的问题,好在后面通过查资料学习算是解决了,下面展示一下我做的软件,在文章的最后附上我整理的资料,需要的可以下载。 开发工具:qt-creator 软件版本:qt5.14.2 编译环境:MinGW64-bit mysql版本:mysql-8.0.28-winx64登录界面:主界面展示:连接mysql,并查看所有数据..
2022-01-25 14:04:49
11091
1
原创 基于Qt的海康威视网络摄像头SDK的二次开发
最近用Qt做了一个基于海康威视网络摄像头SDK的二次开发,效果还不错。文章最后将开发的资料和demo软件通过链接方式分享,有兴趣的可以看下效果。开发情况介绍: qt版本:Qt5.14.2 海康SDK版本:SDK_Win64 测试摄像机型号:DS-2DC2402IW-DE3软件功能: 1:可以控制摄像机左右旋转,上下俯仰运动。 2:支持镜头焦距控制,和焦点调节。 ...
2021-05-09 21:53:21
3554
原创 linux树莓派官方系统打包Qt程序并生成桌面启动快捷方式
说明:本文是参考原文https://blog.youkuaiyun.com/weixin_43219970/article/details/87269166然后根据原文的方式进行了验证和修改,并最终实现了打包程序。1.qt创先project ,取名为test,程序编辑完后先将工程使用Release模式编译2.桌面上创建demo文件夹,打开qt编译输出文件的Release文件夹中test复制到demo文件中。3.在demo文件夹中新建一个脚本文件 install.sh,通过指令chmod 777 ins.
2021-03-07 14:02:44
1259
1
原创 qt解析joystick飞行摇杆按键信息
项目场景:最近入手一款图马斯特飞行摇杆,本来是想用来玩游戏,但是想到以前做过遥控车,如果用这个来代替遥控器应该比较爽,于是用Qt编写了一个解析手柄按键信息的demo软件。测试效果还不错:下面是demo软件检测按钮信息。问题描述: 其实做这个软件的思路就是定时读取按键信息,将按键的信息保存在一个结构体中,比如:joybtn_Info,然后需要的时候提取数据即可。 struct joybtn_Info{ int dwSize; ...
2021-01-21 10:10:57
4559
7
原创 qt运行代码崩溃提示错误:the process was ended forcefully
最近电脑重新换了一块固态,装好Win10系统后,又安装了Qt5.14.2,打开以前以前的工程编译运行时却直接崩溃,如下图。在查看了网上一大堆的解决方案后依旧无法解决,奇怪的是用另外一台电脑可以正常编译和运行代码,通过对比发现是新装的系统却缺少C++组件,正常可编译代码的电脑,可查看控制面板里面有很多C++组件,如下图:我自己在网上找了一个Visual C++ AIO 软件集安装包,按默认路径安装后即可补齐需要的开发组件,qt无法编译的问题也解决了。注意,安装此软件时最好不要下载带有捆
2021-01-11 13:23:26
1103
2
C语言实现MD5算法(源码+打包软件)
2023-08-20
blueCar.rar
2020-09-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人