乐鑫嵌入式笔试复盘:C/C++、数据结构与操作系统核心考点解析
1. 项目概述一次嵌入式软件笔试的深度复盘最近刚结束了一场乐鑫科技的嵌入式软件提前批笔试趁着记忆还热乎赶紧把这次经历和题目复盘一下。对于想进入嵌入式领域特别是瞄准乐鑫这类在物联网芯片领域有深厚积累的公司的同学来说笔试是绕不开的第一道坎。这次笔试给我的感觉是它非常“乐鑫”——题目不追求偏难怪但扎实地考察了C/C语言功底、数据结构与算法基础、操作系统原理以及嵌入式系统特有的知识。它不是那种让你背八股文的考试而是实打实地看你能否写出健壮、高效的代码能否理解程序在底层是如何运行的。如果你正在准备类似的笔试或者想系统性检验自己的嵌入式开发水平那么这次复盘或许能给你提供一个清晰的路线图。接下来我会把记得的题目分类拆解并结合我的解题思路和踩过的坑聊聊嵌入式软件笔试到底在考什么以及我们平时该怎么准备。2. 笔试核心题型与考点深度解析乐鑫的嵌入式软件笔试题型比较经典主要分为选择题和编程题两大类。选择题覆盖面广编程题则注重实际问题的解决能力。下面我按记忆中的题目类型结合常见的考点进行逐一拆解。2.1 C语言核心指针、内存与未定义行为这是嵌入式笔试的永恒主题因为嵌入式开发离硬件近对内存操作必须精准且心中有数。一道经典的指针题目考察了指针运算、数组和字符串的关系。题目大概给出了一个字符数组和指针的几种操作问哪个选项会导致未定义行为或者输出什么。这类题的关键在于画内存图。比如char str[] “Hello”; char *p str; p 2; printf(“%c”, *p); // 输出 ‘l’但题目可能会设置陷阱比如p 10;然后解引用这就越界了。或者考察sizeof(str)和sizeof(p)的区别前者是数组大小包含’\0’后者是指针变量的大小4或8字节。我的心得是面对指针题别慌先在草稿纸上把内存布局画出来标出每个变量的地址和内容指针移动后指向哪里就一目了然了。尤其要注意字符串字面量和字符数组的区别前者是只读的。另一道关于内存对齐和结构体的题目这几乎是必考题。题目给了一个结构体问sizeof的结果是多少。例如struct S { char a; int b; short c; };在32位系统默认对齐下char a占1字节但为了int b4字节对齐a后面会填充3字节。b占4字节short c占2字节但整个结构体的大小要是最大成员int4字节的整数倍所以c后面再填充2字节。最终sizeof(struct S)是 13422 12字节。这里的关键是理解编译器为何要内存对齐提高访存效率以及#pragma pack指令可以改变对齐规则。笔试中可能会考变体比如结构体里包含数组、嵌套结构体或者有位域的情况。2.2 C特性考察从面向对象到现代语法虽然嵌入式开发以C为主但乐鑫的岗位要求里通常包含C所以C的基础特性也会考到。一道关于构造函数和析构函数调用顺序的题目涉及继承和组合。比如定义一个基类Base、派生类DerivedDerived中又包含一个成员对象Member。问创建Derived对象时构造函数和析构函数的调用顺序。规则是构造函数调用顺序基类 - 成员对象 - 派生类自身。析构函数调用顺序完全相反派生类自身 - 成员对象 - 基类。这考察了对对象生命周期管理的理解。一个容易忽略的点是如果基类的析构函数不是虚函数那么通过基类指针删除派生类对象会导致未定义行为通常只调用了基类的析构函数造成资源泄漏。所以在设计可能被继承的类时析构函数声明为虚函数是一个好习惯。另一道可能涉及const、引用和移动语义的题目例如给出一段代码问哪个选项能通过编译或者哪个效率更高。这考察了对C现代特性的理解。比如const引用可以绑定到临时对象延长其生命周期右值引用和std::move用于实现移动语义避免不必要的深拷贝这在资源受限的嵌入式系统中很有价值。虽然笔试可能不会要求你写复杂的模板元编程但对这些基础概念的理解是必要的。2.3 数据结构与算法嵌入式场景下的实用考量算法题通常不会像互联网公司那样考极其复杂的动态规划而是更注重基础、实用和空间/时间效率的权衡。我记得有一道是关于链表操作的可能是反转链表、合并两个有序链表、或者找出链表的中间节点。这类题目考察指针操作的熟练度和代码的鲁棒性。写链表题一定要注意1. 处理头节点可能被改变的情况通常使用一个dummy哨兵节点可以简化操作2. 注意指针判空特别是next指针3. 画图画图画图把每一步指针的指向变化画出来逻辑会清晰很多。在嵌入式环境中链表是常用的数据结构比如管理任务列表、缓冲区块所以写出无BUG的链表代码是基本功。还有一道可能涉及数组或字符串的查找、排序问题比如实现一个函数找出数组中只出现一次的数字其他数字都出现两次或者判断一个字符串是否是回文。这类题往往有巧妙的解法例如利用异或运算的性质来找“单身狗”数字。在准备时要把基础排序算法冒泡、选择、插入、快排和查找算法二分查找的原理和代码实现熟记于心并能分析其时间/空间复杂度。嵌入式系统内存有限有时需要选择原地排序算法如堆排序而非归并排序。2.4 操作系统与计算机系统基础这部分是区分普通程序员和嵌入式程序员的关键。进程与线程的区别这几乎是必问的。要能清晰地说明进程是资源分配的最小单位拥有独立的地址空间线程是CPU调度的最小单位共享进程的资源。在嵌入式RTOS实时操作系统中任务Task的概念更接近于线程。笔试可能会问多线程共享数据时需要什么机制来保护答案就是互斥锁mutex、信号量semaphore等同步原语。内存管理相关堆heap和栈stack的区别。栈由编译器自动管理用于存放局部变量、函数参数等分配释放速度快但空间有限。堆由程序员手动管理malloc/free,new/delete空间大但容易产生内存碎片和泄漏。嵌入式系统中静态内存分配全局变量、静态变量和栈空间通常更受青睐因为确定性好。题目可能会给一段代码问变量存储在哪个区域。中断Interrupt机制嵌入式系统的核心概念。题目可能考察中断处理流程保存现场、执行ISR、恢复现场、中断嵌套、以及中断与普通任务之间的通信方式如使用队列、信号量。需要理解中断的延迟、优先级等概念。3. 编程题实战分析与避坑指南笔试的编程题通常1-2道在线平台编写考察综合能力。我印象中有一道题比较典型这里我结合常见题型进行重构和分析。3.1 典型题目多传感器数据滤波与聚合假设题目描述如下有一个嵌入式设备周期性例如每秒从多个传感器采集数据如温度、湿度。由于传感器存在噪声需要你对每个传感器的连续N次采样值进行滤波处理例如取中值或均值然后将所有传感器处理后的数据按照特定格式如JSON或自定义二进制打包并通过一个通信接口如UART发送出去。同时设备有一个按钮按下后需要立即发送当前最新的传感器数据包。这道题综合考察了以下几个能力数据结构的定义与使用如何设计结构体来存储传感器数据和时间戳算法实现如何高效地实现一个滑动窗口用于存储最近N次采样并计算中值或均值计算中值可能需要排序。状态管理如何管理定时采集、按钮中断触发发送这两种不同的事件内存管理采样数据缓存是静态分配还是动态分配在资源受限的系统里如何选择数据序列化如何将结构体数据转换为字节流需要考虑字节序大端/小端问题吗3.2 解题思路与代码框架第一步定义数据结构#define SENSOR_NUM 3 #define WINDOW_SIZE 5 typedef struct { uint32_t timestamp; // 时间戳 float temperature; float humidity; // ... 其他传感器数据 } sensor_data_t; typedef struct { sensor_data_t window[WINDOW_SIZE]; // 滑动窗口 int index; // 当前写入位置 float filtered_temp; // 滤波后的值 float filtered_humi; } sensor_filter_t; sensor_filter_t sensors[SENSOR_NUM];注意这里使用静态数组实现环形缓冲区作为滑动窗口index循环递增。这种方式避免了动态内存分配在嵌入式系统中更安全、更高效。第二步实现滤波函数以计算中值为例均值更简单但中值滤波对脉冲噪声抑制效果好static int compare_float(const void *a, const void *b) { float fa *(const float*)a; float fb *(const float*)b; return (fa fb) - (fa fb); } void update_sensor_filter(sensor_filter_t *filter, sensor_data_t *new_data) { // 1. 将新数据放入窗口 filter-window[filter-index] *new_data; filter-index (filter-index 1) % WINDOW_SIZE; // 2. 提取窗口内所有温度值到一个临时数组用于排序 float temp_array[WINDOW_SIZE]; for (int i 0; i WINDOW_SIZE; i) { temp_array[i] filter-window[i].temperature; } // 3. 排序并取中值 qsort(temp_array, WINDOW_SIZE, sizeof(float), compare_float); filter-filtered_temp temp_array[WINDOW_SIZE / 2]; // 同理处理湿度... }避坑指南直接对结构体数组按某个字段排序会打乱数据顺序破坏时间序列。因此这里选择提取特定字段到临时数组排序。另外qsort是标准库函数在嵌入式环境中要确认编译器是否支持或者自己实现一个简单的排序如插入排序因为窗口大小N通常很小。第三步处理定时与中断事件这是一个简化版的主循环和中断服务例程ISR框架volatile int button_pressed 0; // 按键标志用volatile修饰 // 模拟的按键中断服务函数 void button_isr(void) { button_pressed 1; // 仅设置标志快进快出 } // 主循环 int main() { // 初始化硬件、定时器、中断等 // ... while (1) { // 1. 定时采集事件例如由定时器中断设置标志 if (is_time_to_sample()) { sensor_data_t raw_data; read_all_sensors(raw_data); // 读取原始数据 raw_data.timestamp get_current_tick(); // 获取时间戳 // 更新每个传感器的滤波器 for (int i 0; i SENSOR_NUM; i) { // 假设raw_data包含所有传感器数据这里简化处理 update_sensor_filter(sensors[i], raw_data); } } // 2. 处理按键事件在主循环中查询标志避免在ISR中做复杂操作 if (button_pressed) { button_pressed 0; send_current_data_packet(); // 打包并发送当前滤波后的数据 } // 3. 其他后台任务如处理接收到的命令 // ... } return 0; }核心要点中断服务程序ISR要尽可能短小只做设置标志、拷贝数据等简单操作复杂的逻辑如滤波、打包、发送放到主循环中基于标志位来处理。这是嵌入式实时系统编程的重要原则。第四步数据打包与发送void send_current_data_packet(void) { uint8_t packet_buffer[128]; // 假设足够大 int len 0; // 简单的自定义二进制格式打包示例 packet_buffer[len] 0xAA; // 帧头 packet_buffer[len] 0x55; for (int i 0; i SENSOR_NUM; i) { // 将float转换为字节流注意字节序 uint32_t temp_int *(uint32_t*)(sensors[i].filtered_temp); packet_buffer[len] (temp_int 24) 0xFF; packet_buffer[len] (temp_int 16) 0xFF; packet_buffer[len] (temp_int 8) 0xFF; packet_buffer[len] temp_int 0xFF; // 同理打包湿度... } packet_buffer[len] calculate_checksum(packet_buffer, len); // 校验和 uart_send_data(packet_buffer, len); // 假设的发送函数 }注意事项浮点数在内存中的表示IEEE 754和字节序Endianness是嵌入式通信中常见的坑。如果设备MCU和接收端PC的字节序不同需要进行转换。上面的代码按大端序网络字节序打包。更健壮的做法是使用union或者memcpy来避免类型双关type punning可能导致的未定义行为尽管许多嵌入式编译器对此比较宽容。4. 笔试准备策略与长期能力构建一次笔试的表现是平时积累的体现。根据这次乐鑫笔试和以往经验我总结出以下几点准备策略和长期学习建议。4.1 短期冲刺针对性复习与刷题知识体系梳理C语言重点复习指针多级指针、函数指针、指针数组与数组指针、内存管理malloc/free原理、内存泄漏检测、结构体与联合体、位操作。推荐阅读《C Primer Plus》和《C和指针》。C如果岗位要求复习面向对象封装、继承、多态、构造函数/析构函数、虚函数表、const/static关键字、RAII、智能指针基础概念、STL基础容器vector, list, map的使用和复杂度。数据结构与算法链表、栈、队列、二叉树遍历必须能手写代码。排序冒泡、选择、插入、快排、归并和查找二分要熟悉。算法复杂度分析O(n)是基础。可以在LeetCode上刷“简单”和“中等”难度的标签题重点看数组、字符串、链表相关题目。操作系统与计算机组成进程/线程/协程同步与互斥锁、信号量、条件变量内存管理分页、分段中断与DMA。推荐阅读《深入理解计算机系统》的相关章节。嵌入式特定知识MCU基础了解常见架构如ARM Cortex-M知道寄存器、时钟、GPIO、UART、I2C、SPI、ADC等外设的基本原理。RTOS理解任务、调度、消息队列、事件标志等概念。FreeRTOS是很好的学习对象。调试知道如何使用调试器如J-Link、逻辑分析仪以及printf调试法。刷题与模拟牛客网、力扣有大量的企业真题和专项练习。自己出题尝试用C实现一个简单的命令行学生成绩管理系统涉及结构体、链表、文件IO或者用C实现一个模拟的智能家居设备控制类这能很好地串联起多个知识点。代码规范笔试时写的代码要清晰、有注释、注意边界条件检查和错误处理。即使功能没完全实现良好的代码风格也能加分。4.2 长期积累项目实践与底层理解笔试可以突击但真正的能力来自于日积月累。动手做项目这是最重要的环节。可以从一块开发板如STM32、ESP32开始。裸机项目不依赖操作系统用寄存器或标准库点亮LED、驱动OLED屏幕、读取温湿度传感器、通过串口与PC通信。这会让你彻底理解时钟树、GPIO配置、中断配置、时序图如I2C等。RTOS项目在开发板上移植FreeRTOS创建多个任务实现任务间通过队列传递数据用信号量做同步。尝试测量任务切换时间、中断延迟。小型综合项目例如做一个基于ESP32的Wi-Fi气象站采集传感器数据通过MQTT协议上传到云平台同时用Web服务器在本地显示。这个项目会涵盖传感器驱动、网络协议栈、JSON解析、多任务管理等多个方面。深入理解底层读芯片手册尝试不看例程直接阅读芯片参考手册Reference Manual来配置一个外设。这个过程很痛苦但收获巨大。分析启动代码看看开发板提供的启动文件.s汇编文件理解从复位向量到main函数之间芯片做了什么设置栈指针、初始化.data段、.bss段等。使用调试器单步执行代码观察寄存器、内存的变化。设置断点查看调用栈。这能帮你建立代码与机器执行之间的直观联系。关注行业与社区关注乐鑫科技、Nordic、ST等芯片原厂的官网和开发者社区了解最新的芯片特性和技术方案。阅读优秀的开源嵌入式项目代码如FreeRTOS、LVGL、ESP-IDF等学习其架构设计和编码风格。参与技术论坛如电子工程世界、CSDN嵌入式板块的讨论帮助别人解决问题也是巩固自己知识的好方法。嵌入式开发是一条需要持续学习和动手实践的道路。笔试就像一次阶段性的体检它能暴露你的知识盲区但更重要的是指引你后续努力的方向。把基础打牢多动手写代码多思考系统层面的问题这样无论面对乐鑫还是其他公司的笔试、面试你都能有足够的底气。

相关新闻

安全认证与授权:csharp_with_csharpfritz中的ASP.NET Core Identity实现

安全认证与授权:csharp_with_csharpfritz中的ASP.NET Core Identity实现

安全认证与授权:csharp_with_csharpfritz中的ASP.NET Core Identity实现 【免费下载链接】csharp_with_csharpfritz Show notes, slides, and samples from the CSharp with CSharpFritz show 项目地址: https://gitcode.com/gh_mirrors/cs/csharp_with_csharpfri…

2026/8/13 21:29:42 阅读更多 →
OpenClaw:基于文件系统的个人知识管理系统构建指南

OpenClaw:基于文件系统的个人知识管理系统构建指南

1. 从“文件即真理”到OpenClaw:一个理念的落地 在信息爆炸的时代,我们每天都在与海量的数字文档、笔记和知识碎片打交道。一个困扰许多人的核心问题是:如何让这些散落各处的信息真正为我所用,而不是被遗忘在文件夹深处&#xff1…

2026/8/13 21:29:42 阅读更多 →
为什么选择Sentry Webpack Plugin?前端错误监控工具对比与选型建议

为什么选择Sentry Webpack Plugin?前端错误监控工具对比与选型建议

为什么选择Sentry Webpack Plugin?前端错误监控工具对比与选型建议 【免费下载链接】sentry-webpack-plugin Repo moved to https://github.com/getsentry/sentry-javascript-bundler-plugins. Please open any issues/PRs there. 项目地址: https://gitcode.com/…

2026/8/13 21:28:42 阅读更多 →

最新新闻

孤能子视角:空间论——选择的差异:观察符切割关系场的显影面展开

孤能子视角:空间论——选择的差异:观察符切割关系场的显影面展开

(在以下的与AI互动中,在EIS理论约束下,DeepSeek叫信兄,Kim叫酷兄,我呢叫水兄。姑且当科幻小说看) (已由信兄整理成文)孤能子视角:空间论 ——选择的差异:观察符切割关系场的显影面展开 EIS理论库认识论分册…

2026/8/14 0:37:40 阅读更多 →
宁波南部商务区网站建设:如何为中小企业打造高转化率的线上获客引擎

宁波南部商务区网站建设:如何为中小企业打造高转化率的线上获客引擎

站在鄞州南部商务区的写字楼落地窗前,看着窗外车水马龙的景象,很多人可能会产生一种错觉:既然我们就身处这样的核心商圈,拥有如此优越的地理位置和成熟的配套设施,企业的品牌自然会在圈内口口相传,生意根本不用愁。这种想法在十年前或许成立,但在移动互联网全面渗透、信…

2026/8/14 0:37:40 阅读更多 →
抖店截流软件:Canvas+WebGL+AudioContext全维度指纹隔离

抖店截流软件:Canvas+WebGL+AudioContext全维度指纹隔离

抖店截流软件:CanvasWebGLAudioContext全维度指纹隔离 干电商的都明白一个道理:抖店的同行数据截流,是店群运营中最耗人力也最容易出错的环节。 同行截流是店群最核心的引流手段。别人花大价钱投流的爆款,你把他的商品数据、价格…

2026/8/14 0:37:40 阅读更多 →
快消品牌商渠道管理系统怎么选?2026年推荐这5款

快消品牌商渠道管理系统怎么选?2026年推荐这5款

2026年选快消品牌商渠道管理系统,核心不是比功能列表,而是看系统能否管好费用、看清终端、打通协同。面对年规模突破12万亿的快消存量市场,行业调研显示近40%的渠道预算存在无效损耗。这意味着,一套真正好用的渠道管理软件&#x…

2026/8/14 0:36:40 阅读更多 →
揭秘大良网站建设公司背后的故事:如何为你打造真正落地的数字化门面

揭秘大良网站建设公司背后的故事:如何为你打造真正落地的数字化门面

在这个数字化浪潮席卷全球的今天,对于大良地区的中小企业主来说,拥有一张“上网”的入场券已经不再是选择题,而是必答题。很多老板在初创期或者转型期,往往会把目光投向技术外包,其中“大良网站建设公司”便成为了不少本地商家首先考虑的合作伙伴。但是,当你真正深入这个…

2026/8/14 0:36:40 阅读更多 →
装修网站建设方案书全解析:从需求调研到上线运营的每一步都至关重要

装修网站建设方案书全解析:从需求调研到上线运营的每一步都至关重要

在这个移动互联网几乎渗透到生活每一角落的今天,对于装修公司或者独立设计师来说,拥有一款拿得出手的官方网站,已经不再是“可有可无”的加分项,而是“生死攸关”的标配。很多人一听到“做网站”,脑海里浮现的可能是一堆枯燥的代码、复杂的后台,或者是那种充满年代感的fl…

2026/8/14 0:36:40 阅读更多 →

日新闻

临沂网站建设铭镇:深耕本土数字生态,以匠心铸就企业品牌核心竞争力

临沂网站建设铭镇:深耕本土数字生态,以匠心铸就企业品牌核心竞争力

在这个流量为王、视觉至上的互联网时代,对于临沂乃至整个山东乃至全国的传统中小企业来说,拥有一张精美的“数字名片”早已不再是可选项,而是生存的必答题。每当夜幕降临,沂河两岸灯火辉煌,物流之都的喧嚣逐渐沉淀为对未来的思考。我们常常听到老板们在茶余饭后探讨:为什…

2026/8/14 0:00:26 阅读更多 →
Flutter与OpenHarmony实现剧本杀组队表单开发实战

Flutter与OpenHarmony实现剧本杀组队表单开发实战

1. 项目概述在移动应用开发领域,跨平台框架Flutter因其高效的开发体验和出色的性能表现,已经成为众多开发者的首选。而OpenHarmony作为新兴的操作系统平台,其开放性和灵活性为开发者提供了全新的可能性。本文将聚焦于一个实际应用场景——剧本…

2026/8/14 0:00:26 阅读更多 →
大连网站建设找简维科技:为您打造懂业务更懂用户的数字化转型引擎

大连网站建设找简维科技:为您打造懂业务更懂用户的数字化转型引擎

在这个数字化浪潮席卷全球的今天,企业想要在激烈的市场竞争中站稳脚跟,拥有一张好看的“数字名片”已经远远不够了。很多老板在刚开始接触互联网业务时,都有一个共同的困惑:为什么我花了钱建的网站,就像是在真空中自嗨?访客进来转了两圈就跑了,线索石沉大海,甚至连客服…

2026/8/14 0:01:27 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/13 2:38:34 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/13 10:41:52 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/13 10:41:51 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/13 10:41:50 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/13 10:41:49 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/13 10:41:49 阅读更多 →