自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 基于DeepSeek-R1 15b微调训练自主的领域大模型,附带工程代码

回答内容说了一大堆英文,与提问内容不相关,浪费资源。iNeuOS工业互联网操作系统的功能介绍?如下图:回答的内容大部分与训练模型的数据集相关,内容更有逻辑感。iNeuOS工业互联网操作系统的功能介绍?

2025-11-21 12:42:07 852

原创 【FAQ】HarmonyOS SDK 闭源开放能力 — Account Kit

华为账号一键登录接入过程中,客户端获取到AuthorizationCode后,需要传到服务端,通过服务端调用华为账号接口获取用户信息。4、根据第2步获取的包名和第三步获取到的环境信息,使用getModuleJsonOpt获取对应模块下的module.json5配置,修改后,使用setModuleJsonOpt将修改后的配置信息写入。为了帮助用户省去多次输入不同应用账号登录的繁琐过程,我们为HarmonyOS应用和元服务提供了使用华为账号快捷登录的能力。token是与设备绑定的标识符。

2025-11-21 12:40:13 576

原创 Tool 系统分析

本文档分析 Spring AI Alibaba Agent Framework 中的 Tool(工具)系统,包括工具的定义、注册、调用流程、扩展机制以及 AgentTool 的实现。实现 ToolCallback 接口:创建自定义工具使用 FunctionToolCallback:将函数转换为工具AgentTool:将 Agent 转换为工具// 1. 使用 FunctionToolCallback// 工具逻辑}).build();// 2. 实现 ToolCallback 接口。

2025-11-21 12:38:54 724

原创 让YOLO飞起来:从CPU到GPU的配置指南

例如,有 ABC 三个处理者可以处理一个请求,请求 a 需要 AC 两个处理者处理,请求 b 需要 BC 两个处理者处理,同时两个处理者之间可能有前后依赖关系,这时候就可以使用责任链模式。System.out.printf("尝试使用企业账户支付: 用户[%s], 金额[%.2f]%n", userId, amount);System.out.printf("尝试使用个人账户支付: 用户[%s], 金额[%.2f]%n", userId, amount);// 先尝试企业账户。// 企业账户最大支付限额。

2025-11-20 17:33:27 636

原创 【光照】[PBR][法线分布]GGX实现方法对比

在现实世界,Node 节点可以是一台物理服务器,一台 VM 虚拟机(一个 Node 节点严格对应一台“计算实例”),但是注意,Node 节点不是容器(Node 是运行容器的宿主机)。每个 node 上有一个 Kubelet(负责每个节点的运行状态,以及与 master 节点通信,执行 master 节点的指令),同时 Node 节点上至少还需要运行 container runtime(比如 docker,这样才能够运行相关镜像)。如果简单的理解,你就可以把他看成一个 docker,可以运行相关的镜像。

2025-11-20 17:32:22 337

原创 deepseek-v.-exp: 节前发版之打工人的悲鸣

Middleware: 针对不同的执行时序节点,系统提供了三种 Middleware: Middleware System、Middleware Global和Middleware Local,从而可以实现更精细化的切面逻辑。this.scope.model.xxx: 没有使用依赖注入,而是使用依赖查找,直接通过 scope 对象获取 model 实例,从而简化代码的书写风格。外部切面: 在不改变 Class 源码的前提下,从外部为任何 Class 的任何方法切入逻辑。鸭诩链汤VonaJS AOP编程。

2025-11-20 17:31:16 378

原创 Solon Plugin 自动装配机制详解

其中引用到的上下文变量arr是["1","2","3","1","2","333",""],处理完成后的array是["1","2","3","333",""],注意我的""是空串,不是空值,因此是没有去除的。经过查询,多个查询条件组合为[{"ID":1,"文本":"AB","整数":1,"小数":1.5,"日期":44927.75,"是_否":0}]越接近1表示,方向越接近。经过查询,第一个{"ID":1,"文本":"AB","整数":1,"小数":1.5,"日期":44927.75,"是_否":0}

2025-11-20 17:29:54 409

原创 【Rive】rive-android源码分析

注意,这里我故意选错成DeepSeek API,这也是初学者经常会选错的,实际上,若选择这个你就找不到你本地的DeepSeek模型。我是DeepSeek-R1,一个由深度求索公司开发的智能助手。你可以根据你的硬件情况选择,通常模型大小(参数量)越大,模型的理解和生成能力越强,但也会消耗更多的计算资源。目前deepseek-r1模型大小提供了7个选择:1.5b、7b、8b、14b、32b、70b、671b。他真的迅速给我起了10个吸引眼球的标题,还提供了它思考的过程,而且在我这4年前的电脑上跑起来都很迅速。

2025-11-20 17:28:32 248

原创 Mike_Zhang

一个或少数几个事件循环线程负责等待I/O事件,并将就绪的任务分发给工作者线程池(Worker Threads)处理,实现了I/O操作与业务逻辑的解耦。其核心价值在于,它将应用程序从低效的I/O等待中解放出来,实现了“一次等待,响应多个事件”的高效并发模式。因此,当应用程序调用epoll_wait时,内核只需返回这个就绪队列的内容,其时间复杂度为O(k)(k为活跃连接数),与被监视的文件描述符总数无关。从本质上看,I/O多路复用仍属于同步I/O,因为应用程序在调用epoll_wait时是阻塞的。

2025-11-19 21:27:49 256

原创 FFmpeg开发笔记(八十三)国产的视频裁剪框架AndroidVideoTrimmer

一旦虚拟机成功启动,Docker命令行工具就会自动连接到Colima提供的Docker守护进程,此时我们就可以在Mac上正常使用所有Docker命令了。# 当未指定时,会从https://github.com/abiosoft/colima-core/releases下载适当的磁盘镜像。colima start --cpu 1 --memory 2 --disk 10 ## 指定配置启动。# docker daemon的配置,即`daemon.json`# 为虚拟机指定自定义磁盘镜像。

2025-11-19 21:24:08 291

原创 博客的加载速度和大小的优化、优化再优化

但是在复杂系统中,不同的业务消息(例如“下单”、“扣库存”、“发积分”)在投递失败时,需要采取不同的补偿逻辑。策略模式的核心思想是:定义一系列算法(或行为),让它们可以相互替换,且算法的变化不会影响使用算法的客户。//根据bean的名称从map中获取相应的实现类。

2025-11-19 21:20:22 752

原创 【URP】Unity[视差遮挡贴图]原理剖析实践

不不不,没有的事,你又忘了,FromExpression 只是转换为表达式树,并不会真的调用它。哦,说了一大堆,还没说这个方法到底有啥毛用。实际上,EF Core 并不会真正调用方法,只是通过生成表达式树 + 反射出方法名,然后再找到与方法名对应的数据库中的函数罢了。不能调用,不能调用,不能调用!1、访问 context.GetAllBooks() ,这时候,GetAllBooks 方法确实被调用了,是你的代码调用的,不是EF调用;可是,你也发现了,这TM太麻烦了,为了表值函数映射,我要封装两个方法成员。

2025-11-19 21:16:35 691

原创 NHibernate.Search 基于Lucene.NET的全文索引

Mud代码生成器是一套基于Roslyn的源代码生成器,专门针对.NET平台设计,提供了类似Lombok的功能,甚至更加丰富。在.NET的依赖注入系统中,构造函数注入是最推荐的依赖注入方式。这套工具通过在代码中添加特定的特性(Attribute)标记,然后在编译时自动生成相应的代码,大大减少了开发者需要手动编写的代码量。在现代Web应用开发中,数据传输对象(DTO)和视图对象(VO)是常见的设计模式。[property: Required(ErrorMessage = "客户端key不能为空")]

2025-11-19 21:13:19 639

原创 关于某道C#上机题 - 双向循环链表

这里我们只需要了解大概流程就好了,至于里面是否有再细节一点的流程,甚至 AOT/JIT,就不去深究,后面有机会再分享,属于另外一范畴,可以看到这里就出现了 Roslyn,他的作用就是用于编译原生的 C# 代码为 IL,你可以把他理解为是一个开源编译器平台,而且他本身还是用 C# 写的,相信自己的直觉,没错,用 C# 写的代码编译 C# ,俗称自举,约等于(鸡生蛋、蛋生鸡),形成这种局面开始是在微软诞生了 Roslyn 之后,早期的编译器还是用 C++ 的。只有知道了语义之后才能真正"活"起来。

2025-11-18 22:31:42 421

原创 你真的知道一个HTML及资源是如何load的吗(了解各个部分是何时下载和执行的)

招孔追卮如果你也在为“评审慢、质量不稳定、沟通碎片化、重复劳动多”而头疼,这篇文章会把我们在 AIReview 项目中的实践完整分享给你:我们如何把多模型 LLM 能力、Prompt 可定制、异步分析、实时协作、Git 集成等组合起来,让代码评审真正落地、可量化、可持续改进。分层与领域清晰:API(ASP.NET Core)/ Core(领域与业务)/ Infrastructure(EF Core、外部服务、Hangfire、Redis)数据库:SQLite(默认)或 PostgreSQL(生产推荐)

2025-11-18 22:28:24 249

原创 从扩展方法到流畅的程序体验(一)

既然 GapBuffer 采用下标映射实现实际下标和逻辑下标的转换,而在编辑的过程中,某个字符的逻辑下标往往是不断变动的,而其实际下标则要稳定得多,因此完全可以记录实际下标实现高效率的标记管理。由于间隙内的内容实际不可见,当我通过字符串索引获取字符时,需要跳过间隙,此时存在一个下标映射:将获取字符时的逻辑下标映射到所维护字符数组的实际下标。删除时,直接前移起始指针。局部性编辑:在间隙开头插入时,如果间隙不需要扩容,则记录不变,如果是删除,检查并处理实际下标落入间隙区中的下标,移动或删除,平均时间复杂度。

2025-11-18 22:20:12 298

原创 WPF企业内训全程实录(下)

本相似度计算逻辑,在保证性能和效率的前提下,获取到的结果可能并不是最优的。可模型本身并不知道公司的各种产品信息,所以需要我们在给模型发送问题的时候,将产品?户提出问题后, RAG 会根据问题的内容,在所有的?,向量所包含的信息也就越丰富,使?个基于 RAG 的问答系统的完整流程,包括?,也就意味着向量对应的?它为存储向量做了很多优化,还提供了计算向量相似度等相关的函数,?云百炼的专业向量模型,其处理逻辑对于相关性提供了较好的?户问题的向量,与向量数据库中的向量进?户问题的相关性较低,您可以尝试调整召回的?

2025-11-18 22:16:12 264

原创 XML数据库与dbo的简要对比

KV Cache 是 Transformer 自回归推理的关键优化技术,通过缓存历史键值对将重复计算转化为内存查表,显著降低推理延迟。分页管理:借鉴操作系统的虚拟内存思想,vLLM 等框架将 KV Cache 切分为固定大小的块(如 16 个 token),动态分配物理显存,显著提升显存利用率和批处理吞吐。卸载与重算:对超长上下文,可将早期 token 的 KV 缓存卸载至 CPU 内存,或在访问时按需重算。需要明确的是,KV Cache 存储的是经过线性投影后的连续向量表示,其规模与词表大小无关。

2025-11-17 21:15:32 404

原创 在团队中如何推行一项新的实践

不要过分指望按照文本主题进行分隔, 因为实战中的资料太多而且没有规律, 根本没办法保证每个chunk是一个完整的主题内容, 哪怕人为干预也很难。由于文本读取过来后, 还需要分成一段一段的片段(分块chunk), 分块是为了更好地拆分语义单元,这样在后面可以更精确地进行语义相似性检索,也可以避免LLM的Token限制。// 不同的PDF生成工具可能使用不同的坐标系 , 如果内容识别有问题, 可以设置该属性为true。接下来,如果每个块的大小超出了预定义的块大小限制,则将其拆分成更小的块。

2025-11-17 21:11:07 867

原创 工作回忆总结(第一年)

显然这取决于"失败"的定义, 例如除0就是"除法指令的第二个操作数为0", 非法指令可以定义成"不属于ISA手册描述范围的指令", 而自陷指令可以认为是一种特殊的无条件失败. 不同的ISA手册都有各自对"失败"的定义, 例如RISC-V手册就不认为除0是一种失败, 因此即使除数为0, 在RISC-V处理器中这条指令也会按照指令手册的描述来执行.处理系统的关键, 就是要有一个后台程序, 当一个前台程序执行结束的时候, 后台程序就会自动加载一个新的前台程序来执行,这样的一个后台程序, 其实就是操作系统。

2025-11-17 21:07:08 394

原创 Swifter C#之inline还是不inline,这是个问题

对于上下文的创建,需要先实现rt_uint8_t *rt_hw_stack_init(void *tentry, void *parameter, rt_uint8_t *stack_addr, void *texit)函数。void rt_hw_context_switch(rt_ubase_t from, rt_ubase_t to)//切换到to的上下文,又要保存当前上下文到from上。//保存上下文到from中。

2025-11-17 21:02:26 831

原创 Android整体印象

SocketWordCount是Flink中的经典示例,它通过Socket接收实时数据流,对数据流中的单词进行计数,并将结果实时输出。在SocketWordCount中,keyBy操作使用了Key Group Partitioning策略,确保相同单词的数据被发送到同一个分区进行处理。System.out.println("客户端已连接,输入要发送的数据(输入'exit'退出):");最后,调用execute方法启动作业。注意,Flink程序是惰性执行的,只有调用execute方法才会真正触发计算。

2025-11-17 20:57:44 958

原创 SQL Join的一些总结

使用 thread return 时,需要注意,我们的断点需要打在 objc_msgSend 的入口处,如果在 addNum 的入口打断点执行 thread return,最终可能会得到非预期值;但这种方式有个弊端是,需要等函数执行完,在实际的场景中,我们往往希望不执行函数且能让函数返回我们想要的值,比如:函数中可能会修改其他参数,函数可能有复杂的鉴权逻辑无法通过鉴权等,这些场景我们往往不希望或者不能让函数执行,这种情况下就需要另一个指令:thread return。如下,是AI生成的函数调用流程;

2025-11-16 15:35:35 327

原创 协议森林 涅槃 (TCP重新发送)

vu3中$attrs: 包含了所有[传递]给[子组件]的非 props 属性。如:继承的属性(如 class 和 style)以及未在 props 中声明的属性。vu2中$attrs: 包含了所有[传递]给[子组件]的非 props 属性和style和class之外的属性。当一个组件声明了prop时候,attrs里面包含除去prop里面的数据剩下的数据。v-bind="$attrs" 可以接收到父组件中的属性设置。我们发现一个问题:在父组件中的组件写相关属性时,没有属性提示。

2025-11-16 15:31:25 296

原创 dll文件位位检测工具以及Windows文件夹SysWow的坑

查看switch_core_media.c的switch_core_media_patch_sdp函数,在处理video信息时,强制重选了video本地端口,而audio端口处理正常。查看调用堆栈,mod_sofia模块在处理183sdp的流程中,proxy_media模式下会主动调用“switch_core_media_patch_sdp”这一并无必要的操作。经过修改后的fs虽然可以正常转发rtp媒体流,但是仍然无法转发rtcp消息,在网络较差的情况下,视频媒体流无法利用rtcp的特性修复视频卡顿。

2025-11-16 15:27:23 263

原创 赵杰_yiwenshengmei

TRPO 用共轭梯度法求解带约束的优化问题,需要计算 Hessian 矩阵(目标函数的二阶导数)。PPO(Schulman et al., 2017)用一阶优化 + 巧妙的目标函数设计达到 TRPO 的效果,成为深度 RL 和 RLHF 的标准算法。过大(如 10),说明新旧策略差异巨大,重要性采样失效,梯度估计方差爆炸。新策略分布:P("多喝水")=0.5, P("休息")=0.35, P("吃药")=0.15。旧策略分布:P("多喝水")=0.3, P("休息")=0.4, P("吃药")=0.3。

2025-11-16 15:23:10 890

原创 人工智能实用指南:AI作画 + tf-idf

探索人工智能中的 AI 作画与 tfidf 引言 在人工智能飞速发展的当下,AI 作画成为了热门话题。它能根据用户输入的描述生成各种风格独特的图像,为创造力打开

2025-11-16 14:46:53 415

原创 记一次酣畅淋漓的js逆向

而且是纯粹的那种,不要框架,只依赖原生。早期 JavaScript 没有类的概念,通过 “构造函数+原型链” 模拟面向对象,this 因“动态绑定”特性,从强类型语言的角度看,其表现堪比怪物,this 指向完全依赖调用方式,稍不注意就出错。继承的先父后子,无论是隐式调用父类无参构造,还是显式调用有参构造,父类的构造函数总是先执行,父类成员先行完成初始化,不会出现子类访问未就绪的父类属性的情况。JavaScript 的 this 像怪物,核心是指向由函数调用时的方式决定,属于动态绑定,而非定义时的静态绑定。

2025-11-15 16:37:15 539

原创 基于C#+avalonia ui实现的跨平台点胶机灌胶监控控制上位机软件

我们都知道CPU就像计算机的“大脑”,但在深度学习的模型训练领域中,反而GPU更常用,尤其是在较大的模型训练中,GPU 是深度学习的“加速引擎”,它用大量并行核心,把神经网络训练和推理中重复、耗时的矩阵运算做得又快又高效,所谓的“租用服务器让模型跑快点”,实际上就是利用服务器的较先进的GPU。我们本篇的主要目的还是展示模型构建的过程,在之后的课程学习里,会涉及更多更复杂的算法,函数与优化等,我们到时使用其再来试试在猫狗二分类数据集上的分类效果。这样,我们就完成了预处理部分。

2025-11-15 16:32:21 916

原创 Elasticsearch嵌套类型nested使用指南

一个典型的问题就是求逆矩阵:在工程实践和数值计算中,直接求解逆矩阵通常是一个性能消耗大且可能不精确的操作,应该尽量避免。其实效率只是一方面的问题,使用计算机求解的另外一个问题是舍入误差累积:在计算机中,浮点数运算存在固有的舍入误差;总而言之,使用通解求解逆矩阵,可能存在不精确且性能消耗大的问题。(对应零奇异值的分量)在正规方程中不受约束——这反映了在列秩不足时普通最小二乘解不是唯一的(可以在零空间方向任意加解)。从以上论述可以看到,SVD分解稳定且能处理秩亏的情况,但比QR分解慢,复杂度高,通常。

2025-11-15 16:27:12 788

原创 人工智能:tf-idf的正确打开方式

人工智能技术实践 在人工智能领域,有多个关键技术和工具值得深入探讨。 核心概念与原理 tfidf:词频逆文档频率,常用于文本分析。它通过统计词在文档中的频率以及

2025-11-15 03:11:28 350

原创 人工智能:dnn的正确打开方式

人工智能:DNN、边缘计算与回归的融合实践 在当今数字化时代,人工智能的应用愈发广泛,深刻改变着人们的生活和工作方式。深度学习神经网络(DNN)作为人工智能的核

2025-11-15 03:06:28 331

原创 【GitHub每日速递 】 个宝藏开源项目:超长语音合成、算法学习库、自托管软件导航,开发者速收

我们都知道CPU就像计算机的“大脑”,但在深度学习的模型训练领域中,反而GPU更常用,尤其是在较大的模型训练中,GPU 是深度学习的“加速引擎”,它用大量并行核心,把神经网络训练和推理中重复、耗时的矩阵运算做得又快又高效,所谓的“租用服务器让模型跑快点”,实际上就是利用服务器的较先进的GPU。我们本篇的主要目的还是展示模型构建的过程,在之后的课程学习里,会涉及更多更复杂的算法,函数与优化等,我们到时使用其再来试试在猫狗二分类数据集上的分类效果。这样,我们就完成了预处理部分。

2025-11-14 14:07:41 279

原创 聊一聊 .NET超高内存故障分析方法 的反思

一个典型的问题就是求逆矩阵:在工程实践和数值计算中,直接求解逆矩阵通常是一个性能消耗大且可能不精确的操作,应该尽量避免。其实效率只是一方面的问题,使用计算机求解的另外一个问题是舍入误差累积:在计算机中,浮点数运算存在固有的舍入误差;总而言之,使用通解求解逆矩阵,可能存在不精确且性能消耗大的问题。(对应零奇异值的分量)在正规方程中不受约束——这反映了在列秩不足时普通最小二乘解不是唯一的(可以在零空间方向任意加解)。从以上论述可以看到,SVD分解稳定且能处理秩亏的情况,但比QR分解慢,复杂度高,通常。

2025-11-14 14:02:43 801

原创 鸿蒙应用开发从入门到实战(二十三):一文搞懂ArkUI弹性布局

在实用性能上,它在OmniDocBench基准测试中,仅用100个视觉token就超越需256个token的GOT-OCR2.0,用少于800个视觉token超越平均需6000+个token的MinerU2.0,且单A100-40G显卡日生成20万+页LLM/VLM训练数据,代码和模型权重已开源(http://github.com/deepseek-ai/DeepSeek-OCR),为LLM长上下文压缩、记忆遗忘机制研究及实际OCR任务提供重要价值。配置:AdamW优化器,步长调度器,初始学习率3e-5;

2025-11-13 16:47:47 270

原创 【URP】Unity中的[摩尔纹]问题解决方案

heap_1 只分配,不释放(pvPortMalloc有效,vPortFree无效) 实现最简单,执行时间绝对确定(无碎片) 内存无法回收,分配后永久占用 只创建一次内核对象(如任务、队列),运行中不删除的场景(如固定功能的嵌入式设备)heap_1/4/5 的分配时间是大致确定的(遍历空闲块的次数有限),而 heap_2(碎片导致遍历变长)和 heap_3(依赖标准库,时间不确定)可能破坏实时性。系统稳定性的保障:例如 heap_1 避免了释放操作,适合资源受限且功能固定的场景(如传感器节点);

2025-11-13 16:42:25 364

原创 非战之罪,从永中Office谈起

在实用性能上,它在OmniDocBench基准测试中,仅用100个视觉token就超越需256个token的GOT-OCR2.0,用少于800个视觉token超越平均需6000+个token的MinerU2.0,且单A100-40G显卡日生成20万+页LLM/VLM训练数据,代码和模型权重已开源(http://github.com/deepseek-ai/DeepSeek-OCR),为LLM长上下文压缩、记忆遗忘机制研究及实际OCR任务提供重要价值。配置:AdamW优化器,步长调度器,初始学习率3e-5;

2025-11-12 15:06:09 240

原创 用Asp.net写自己的服务框架

heap_1 只分配,不释放(pvPortMalloc有效,vPortFree无效) 实现最简单,执行时间绝对确定(无碎片) 内存无法回收,分配后永久占用 只创建一次内核对象(如任务、队列),运行中不删除的场景(如固定功能的嵌入式设备)heap_1/4/5 的分配时间是大致确定的(遍历空闲块的次数有限),而 heap_2(碎片导致遍历变长)和 heap_3(依赖标准库,时间不确定)可能破坏实时性。系统稳定性的保障:例如 heap_1 避免了释放操作,适合资源受限且功能固定的场景(如传感器节点);

2025-11-12 15:00:48 223

原创 优雅的.net REST API之FastEndpoints

在实用性能上,它在OmniDocBench基准测试中,仅用100个视觉token就超越需256个token的GOT-OCR2.0,用少于800个视觉token超越平均需6000+个token的MinerU2.0,且单A100-40G显卡日生成20万+页LLM/VLM训练数据,代码和模型权重已开源(http://github.com/deepseek-ai/DeepSeek-OCR),为LLM长上下文压缩、记忆遗忘机制研究及实际OCR任务提供重要价值。配置:AdamW优化器,步长调度器,初始学习率3e-5;

2025-11-11 14:27:57 230

原创 “同声传译”还是“全文翻译”?为何HotSpot虚拟机仍要保留解释器?

heap_1 只分配,不释放(pvPortMalloc有效,vPortFree无效) 实现最简单,执行时间绝对确定(无碎片) 内存无法回收,分配后永久占用 只创建一次内核对象(如任务、队列),运行中不删除的场景(如固定功能的嵌入式设备)heap_1/4/5 的分配时间是大致确定的(遍历空闲块的次数有限),而 heap_2(碎片导致遍历变长)和 heap_3(依赖标准库,时间不确定)可能破坏实时性。系统稳定性的保障:例如 heap_1 避免了释放操作,适合资源受限且功能固定的场景(如传感器节点);

2025-11-11 14:22:59 241

空空如也

空空如也

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

TA关注的人

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