- 博客(29)
- 资源 (1)
- 收藏
- 关注
原创 avalonia在国产芯片瑞芯微RK3588这么容易就跑起来了?
RK3588的板子上跑一下试试,没有想到,“发布-执行”,然后就可以了,至少各种依赖缺失的问题都没有让我碰到,有点惊讶,以下是操作过程。我手里有一块瑞芯微RK3588的芯片,之前使用qt在上面跑程序,在windows上开发的话,部署上去需要交叉编译,步骤繁琐。由于之前在ubuntu上跑过avalonia,仅仅发布一下就可以了,这次突发奇想,我在这块。上面两个是之前发布在虚拟机上的时候,缺失的动态库,底下的是测试的avalonia程序。还在折腾交叉编译,配置环境的宝子们,可以使用起来了 :)
2026-04-03 12:02:37
142
原创 电子小白学电路
接下来的90天将会从0学电子电路,为什么开这个栏目,因为看到了一篇文章,大概的内容是:“如果你不考虑职业,收入,未来,你最想做的是什么?然后鼓励不带功利性的去做,与其迷茫彷徨,还不如行动起来,遵从自己内心”,在这篇文章的鼓励下,我想我喜欢的是电子电路,那么我就归零,从0开始,系统性的学习一下电子电路,干这些最好的时间是10年前,其次是现在。内容是从电子元器件开始,然后模块与组合,最后电路和绘制PCB。
2026-04-02 11:13:57
222
原创 电子小白之二极管
二极管在电子世界里,就像一个低调但不可或缺的门卫。它不复杂,不花哨,但几乎所有电路里都有它,是电子入门的第一道坎。电流只能往箭头方向走,反向就关门。搞懂这一点,你就已经迈过电子入门的第一道坎了。如果你正在做自己的第一个小项目(智能小车、温控器、Arduino扩展板),画完电路图后记得检查一下:电源防反接加了吗?继电器旁边续流二极管画了吗?LED串电阻了吗?这几步做到位,你的第一块板子冒烟的概率会大大降低,新手也能少走很多弯路~
2026-03-27 17:47:33
367
原创 小白学电子电路电源篇
在电子电路中,电源是提供电能的装置。它的作用是将其他形式的能量(如化学能、光能、机械能)转化为电能,并为电路提供稳定的电压或电流。直流电源:电流方向始终不变。例如电池、USB供电、手机充电器输出。交流电源:电流方向周期性变化。例如家用的220V插座(在中国),普通白炽灯、老式日光灯直接用 220V 交流电。在电子电路、PCB、单片机、芯片这些场景里我们几乎不直接说 “交流电”,日常聊天、画图纸、写代码,默认全是直流电,我们主要接触的是低压直流电源(通常为 3.3V、5V、12V 等)。概念核心要点。
2026-03-26 14:03:24
340
原创 从付费软件到自主开发:我用AI和FFmpeg实现了一个录屏工具
最近在训练 QwenVL 模型时,需要大量的视频素材。由于数据源在客户的远程电脑上(通过向日葵访问),我需要录制一段监控实时视频作为训练数据。本以为这是一个简单的任务,没想到却引发了一段有趣的开发经历。如果你的需求和我类似,需要录制视频素材,不妨试试自己动手。代码已经有了,FFmpeg是免费的,AI助手随时待命。为什么不呢?毕竟,自己造的轮子,才最适合自己的车。代码在我的快速开源框架中:https://gitee.com/Tlink/machine关注我,带你每天进步亿点点。
2026-03-25 15:59:47
350
原创 新手小白学电路
接下来的90天将会从0学电子电路,为什么开这个栏目,因为看到了一篇文章,大概的内容是:“如果你不考虑职业,收入,未来,你最想做的是什么?然后鼓励不带功利性的去做,与其迷茫彷徨,还不如行动起来,遵从自己内心”,在这篇文章的鼓励下,我想我喜欢的是电子电路,那么我就归零,从0开始,从认识元器件开始,干这些最好的时间是10年前,其次是现在。话不多说,今天从电阻开始,每个元器件如果一开始深入学,导致很枯燥,先简单使用,然后再深入了解。电阻不生产电,只是电流的"交通警察"——让电流按规矩走,别太快、别乱跑。
2026-03-25 09:03:46
218
原创 一文看懂企业电话系统中的模拟线路与IP线路
这是最传统的电话接入方式,也就是我们常说的**PSTN(公共交换电话网络)**普通电话线。物理形态:通常就是一根铜线,两端连接着电话插座和运营商的程控交换机。特点稳定可靠:技术成熟,音质清晰,不受网络波动影响。资源独占:一条模拟线路在某一时刻只能处理一个通话(呼入或呼出)。“路”的概念:“8路”意味着你最多只能同时进行8通与外界通话。第9个人想打电话时,就会听到忙音。维度模拟线路(外线)IP线路(内部分机)角色通往外界的大门内部沟通的工具数量限制物理限制(8路就是8条线)
2026-03-19 11:24:41
317
原创 OpenCV多线程编程:从单线程到双线程的视频处理
多年前刚刚接触Opencv,还没有AI,那个时候第一次处理视频的时候,仅仅通过usb摄像头显示都还可以,但是通过rtsp等网络方式的方法接入,在显示图像的过程再处理点什么,那简直是卡,通过网上搜索,建议使用多线程处理,然后一堆代码,终于从里面理清了,最近也有同事遇到同样的问题,我说让看代码,他说里面掺杂了太多业务,不太好看明白,所以才有了这篇文章:从最简单的方法实现多线程处理视频流,不参与任何业务。一个负责获取视频帧,一个负责处理,使用最简单的实践达到目的。
2026-03-19 10:09:02
198
原创 OpenCV中的VideoCapture后端参数详解
的第二个参数是一个用于指定视频捕获后端(API Preference)的标识符。它告诉OpenCV你想使用哪个具体的底层库或框架来访问摄像头。默认值是,表示让OpenCV自动选择第一个可用的后端。这个参数的类型是一个枚举值,不同的值对应不同的后端实现。OpenCV要在Windows、Linux、macOS、Android等完全不同的系统上运行,必须为每个系统提供对应的"驱动程序"。
2026-03-17 18:00:59
304
原创 YOLOv8目标跟踪与自定义区域逻辑的完美结合:从手动实现到智能集成
YOLOv8允许自定义跟踪器参数,创建tracker_type: bytetrack # 或使用 botsorttrack_high_thresh: 0.5 # 高分检测框阈值track_low_thresh: 0.1 # 低分检测框阈值new_track_thresh: 0.6 # 新轨迹阈值track_buffer: 30 # 轨迹丢失后的保留帧数match_thresh: 0.8 # 匹配阈值fuse_score: True # 是否融合检测分数特性手动实现YOLOv8跟踪。
2026-03-16 17:55:15
345
原创 C++资源控制哲学:从push_back与emplace_back看左值右值
类型(如intPerson值类别(左值、右值等)// bob是左值(有名称)// 临时对象是右值(无名称)42 // 字面量是右值操作构造次数拷贝/移动适用场景01次拷贝需要保留原对象01次移动放弃原对象所有权1次构造1次移动使用临时对象1次构造0构造新对象零开销抽象:你不需要为不需要的特性付出代价精确控制:你可以选择最合适的方式来管理资源显式优于隐式:重要的操作应该显式表达。
2026-03-13 17:46:18
242
原创 Qt6 开发指南:如何为你的程序生成EXE并添加图标
任务推荐方法工具/配置打包依赖库Qt命令行工具制作安装包Inno Setup第三方工具设置EXE图标修改项目文件RC_ICONS(qmake) 或.rc文件 (CMake)设置窗口图标windowIcon属性希望这篇指南能帮助你顺利地将Qt6程序打包分发,并赋予它一个专业的图标!如果在操作过程中遇到问题,欢迎交流讨论。本文基于Qt6编写,部分命令和路径可能需要根据你的具体版本稍作调整。
2026-03-13 15:00:05
383
原创 突然发现记事本也支持Markdown了
记事本支持Markdown,这件事本身就很有象征意义——它标志着微软开始重视这个“老古董”的现代化改造。从标签页到AI辅助,再到现在的Markdown,记事本正在一点点摆脱“简陋”的标签。但对于我们这些已经被VS Code“惯坏”的开发者来说,记事本的这个改变,更多是一种情怀和便利性的补充。它不会取代VS Code成为主力编辑器,但当你只是想快速记点东西,或者打开一个简单的Markdown文件时,会发现——嘿,这玩意儿还真挺好用。毕竟,不是所有的写作都需要一个完整的IDE。有时候,简单一点也挺好。
2026-03-12 09:43:15
188
原创 C++ 时间编程不迷路:彻底搞懂 system_clock 与 steady_clock
在 C++ 后端开发、日志系统或性能监控中,时间处理无处不在。然而,提供的多种时钟往往让开发者感到困惑:它们到底有什么区别?什么时候该用哪一个?本文从一个真实的生产场景——生成带时间戳的截图文件名出发,带你吃透和的核心差异与实战应用。读完本文,你将能自信地回答这两个时钟的选用标准,避免踩坑。要“几点几分”用,要“过了多久”用。需求推荐时钟原因日志、文件名、时间戳需要真实日期时间性能测试、耗时统计避免系统时间干扰超时控制、定时器保证间隔准确游戏循环、物理模拟时间步长必须稳定。
2026-03-11 16:10:13
218
原创 AI时代如何缓解焦虑——一个数字时代“纺织女”的自白
1840年代,英格兰兰开夏郡。一个年轻的纺织女工站在崭新的动力织布机前,指尖还在隐隐作痛——那是日夜穿梭在老旧手拉织机上留下的茧。她看着这台钢铁怪物以她永远无法企及的速度吞吐着布匹,喉咙发紧。她知道这意味着什么。意味着她母亲教她的“手要稳,眼要快,心要静”的技艺,一夜之间成了博物馆里的展品。意味着她引以为傲的“熟练”,正在被一双无需睡眠、永不疲倦的铁手替代。她恨它。她怕它。但她知道,它不会因为她的恨和怕,就停下轰隆的齿轮。
2026-03-10 21:16:44
345
原创 我与OpenClaw的“无用”之辩:主动出击,寻找那0.01%的AI未来
如果你现在问我,OpenClaw对我到底有什么用?我还是无法给出一个确切的杀手级应用场景。但我知道,如果我现在因为觉得它“没用”就关闭感官、不去了解、不去尝试,那么当未来的某一天,当那0.01%的机会来敲门时,我连门都找不到。龙岗的补助政策,补的不是设备,补的是那颗敢于在99.99%的失败概率中,去博取0.01%未来的心。在这个1人公司盛行的时代,让我们都长出属于自己的“OpenClaw”。不仅要抓住AI这个虚拟的大脑,更要抓住物理世界真实的机会。哪怕最终成为垫脚石,也要做那块踩在最前面的石头。
2026-03-09 20:35:43
188
原创 这才是未来的“openclaw”
openclaw就目前对我来说,感觉帮助不是很大,这只是AI智能未来路上的一个小步骤。当我让ai生成内容时,网页上一行一行的跳动,我离开电脑,孩子盯着那跳动的页面,感觉到无限的好奇。回想到自己小时候的场景,那个时候电都偶尔会停掉,使用蜡烛,煤油灯,更别说电脑,手机,智能,一刹那,感觉恍如隔世,好了,不说这些,说下未来的“openclaw”是什么样的(智能家庭方便)
2026-03-08 09:27:20
750
原创 让OpenClaw替我“看”了一场发布会后,我决定把它写进博客
充电比加油快、续航破千、智驾进入千元时代昨晚(3月5日),深圳大运中心,惊蛰。我坐在电脑前看完了比亚迪的整场发布会。这次不一样。王传福上台时说的第一句话就很直白:“今天不讲故事,只讲量产。这句话的潜台词是——别家还在实验室里秀PPT的技术,我们已经装车了,而且会装进10万块的家用车里。发布会结束时,屏幕上打出一行字:“技术不搞特殊化。这是整晚让我印象最深的一句话。过去几年,我们看过太多“技术首发”:首发在百万豪车上,首发在限量版上,首发完就没了下文。
2026-03-07 09:25:30
426
原创 深入理解 C++ 静态库与动态库:从理论到实践
在 C++ 开发中,库(Library)的使用是不可避免的。但是,静态库和动态库的区别是什么?如何正确地在项目中配置和使用它们?本文将通过实际案例,带你深入理解这两种库的本质区别和正确使用方法。静态库在编译时被完整地链接到可执行文件中。你可以把它想象成一本书的章节,在印刷时就直接装订到了整本书里。文件扩展名.a.lib.a特点编译时链接可执行文件体积较大部署简单(单文件)无运行时依赖动态库在运行时才被加载到内存中。它更像是图书馆的参考书,多个读者可以共享同一本书。
2026-03-06 08:43:08
114
原创 lock_guard 与 unique_lock的深入浅出理解
内部会原子地解锁→阻塞→被唤醒后加锁,这是lock_guard做不到的,因此必须用。消费完数据后,让生产者线程尽快拿到锁继续生产,降低临界区长度。done标志 +cv保证消费者在生产结束后不会无限等待。方案优点缺点有 cv高效、低 CPU、响应快代码稍复杂无 cv(忙等待)代码简单浪费 CPU、可能响应慢结论:对于生产-消费模式,条件变量是最佳实践,但不是语法必需。在小例子中可能不明显,但在实际高并发、高性能系统中,条件变量能显著提升效率和响应性。
2026-03-05 08:41:19
381
原创 QT CMake项目中spdlog编译优化实战:从30秒到毫秒级的构建优化
在CMake + Qt项目开发中,我们引入了spdlog作为日志库。起初采用直接包含头文件的方式,但发现每次构建都要额外花费30秒的时间。经过一系列排查和优化,最终将这部分时间降到了毫秒级别。本文将完整记录这个优化过程。理解库的工作模式:有些库支持多种使用方式,需要明确配置宏定义的重要性是切换工作模式的关键验证配置生效:通过查看符号、编译测试程序等方式验证完整工具链优化:从库的编译到项目的链接都需要正确配置文档阅读:仔细阅读第三方库的文档,了解各种编译选项。
2026-03-04 08:49:35
361
原创 C++万能转发
万能转发允许函数模板将参数原封不动地转发给另一个函数,保持参数的值类别(左值或右值)不变。保持效率:避免不必要的拷贝保持语义:正确传递左值/右值编写通用代码:处理各种类型的参数当你要编写一个转发函数(包装器、代理、中间层)时当你想保持参数原样传递给另一个函数时使用T&&组合对于新手来说,可以从简单的日志包装器开始练习,逐渐理解完美转发的价值。随着经验积累,你会发现在很多场景中都能优雅地应用这一特性。本文旨在用最简单的方式介绍C++万能转发。
2026-03-04 08:46:57
241
原创 C语言位运算在权限系统中的妙用
在C语言开发中,权限管理是一个常见的需求。无论是文件系统、用户权限还是硬件寄存器配置,都需要高效地管理多个布尔状态。今天我们就来深入探讨如何使用位运算优雅地实现权限系统。1u。
2026-03-03 09:23:44
891
原创 深入浅出:RS-232 和 RS-485 串口通信的区别与由来
用 RS-232:如果你的设备就在电脑旁边(比如调试嵌入式板子),只需要简单的双机通信,或者连接一些老式外设。它简单、成熟,对大多数桌面场景足够了。用 RS-485:如果你需要连接多个设备、传输距离较远(几十米到上千米),或者现场环境电磁干扰较大(比如工厂车间、户外监控)。它是工业控制网络(常配合 Modbus 协议)的基石。在软件层面,无论底层是232还是485,在计算机和操作系统看来,它们都被抽象为同一个资源——也就是你编程时操作的“COM口”(比如COM3。
2026-03-03 09:19:49
914
原创 深入理解 C++ 静态库与动态库:从理论到实践
在 C++ 开发中,库(Library)的使用是不可避免的。但是,静态库和动态库的区别是什么?如何正确地在项目中配置和使用它们?本文将通过实际案例,带你深入理解这两种库的本质区别和正确使用方法。静态库在编译时被完整地链接到可执行文件中。你可以把它想象成一本书的章节,在印刷时就直接装订到了整本书里。文件扩展名.a.lib.a特点编译时链接可执行文件体积较大部署简单(单文件)无运行时依赖动态库在运行时才被加载到内存中。它更像是图书馆的参考书,多个读者可以共享同一本书。
2026-03-02 08:29:38
688
原创 QT快速开发框架
是一个基于CMake的 Qt 快速开发框架/脚手架。它不是试图替代 Qt,而是填补"项目初始化"到"业务开发"之间的空白——你不再需要为每个项目复制粘贴基础设施代码。开箱即用的项目骨架,而非重量级业务框架QtMachineDog 不是一个大而全的框架,而是一个务实的解决方案——解决那些每个 Qt 项目都会遇到、却没有人系统整理过的问题。如果你也曾为"又要重写日志系统"而烦恼,不妨试试这个框架。把重复的事情交给 MachineDog,你专心做独一无二的功能。
2026-03-02 08:28:21
383
原创 WebAssembly:十年磨一剑,这些实践案例让我看到了它的真面目
最近在研究WebAssembly(Wasm)时,我陷入了一场自我辩论。一边是铺天盖地的技术布道:“Wasm将取代JavaScript!它真的适合所有场景吗?带着这个疑问,我深入调研了Wasm的实际落地案例。技术选择不是非黑即白的信仰之争,而是在具体场景下的权衡与取舍。Wasm很强大,但它不是银弹。JavaScript也很优秀,它有自己擅长的领域。未来的Web开发,不会是"谁取代谁"的零和游戏,而是各司其职、协同工作的共生关系。就像Jessibuca做的那样:JS负责界面交互,Wasm负责视频解码,
2026-02-28 08:50:39
1094
原创 V4L2 vs GStreamer vs FFmpeg:Linux多媒体处理的三个层级
V4L2:Linux 访问摄像头的底层标准接口(驱动层)GStreamer:构建视频处理流水线的应用框架(框架层)FFmpeg:强大的多媒体工具箱(工具层)技术核心价值一句话描述V4L2统一硬件访问Linux 上访问摄像头的唯一标准方式GStreamer灵活流水线处理构建复杂多媒体应用的框架FFmpeg强大编解码能力处理多媒体文件的瑞士军刀。
2026-02-28 08:47:53
851
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅