news 2026/10/11 3:03:33

鸿蒙hdc工具包详解:环境配置、常用命令与避坑指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
鸿蒙hdc工具包详解:环境配置、常用命令与避坑指南

简介:这是一套面向鸿蒙应用开发者的设备调试与终端交互工具集合,定位类似安卓平台上的调试桥工具,核心价值在于让开发者能够通过命令行方式连接鸿蒙终端、传输指令并获取设备反馈。工具包内含三十个独立文件,压缩后体积约为十四兆,文件类型覆盖可执行程序、配置文件、签名证书和多种辅助模块,其中可执行程序主要负责设备交互、资源处理、代码反汇编和接口生成等任务,配置文件则保存了鸿蒙应用与系统组件的结构定义,供打包校验和运行解析使用。对需要深入鸿蒙底层调试的开发者来说,这套工具能够支撑应用安装卸载、系统信息查看、应用打包签名、二进制代码分析与性能监控等实际场景,同时为跨设备分布式开发提供必要的命令行手段。目前已有三千八百三十四人学习下载,工具包内部结构完整,可帮助开发者在本地快速搭建鸿蒙设备调试环境,减少来回查找工具的时间成本。

1. 鸿蒙hdc工具包:为什么鸿蒙设备调试绕不开这套免费命令行工具

手上有一台鸿蒙开发板,或者一台升级到鸿蒙系统的手机,想装一个 HAP 安装包、拉一份崩溃日志、把设备里的截图取回电脑。没有命令行工具时,这些操作得在 IDE 里点菜单,一次两次还能忍,做批量调试或自动化时效率就完全被拖垮。鸿蒙hdc工具包就是解决这件事的官方命令行调试工具链:安装、卸载、shell、日志、文件传输一整套都收敛在命令行里,而且官方本身就是免费分发的,不需要去第三方下载站找什么绿色版、破解版。但这套工具第一次跑通并不算零门槛,很多人卡在同一个位置:文件拿到了,hdc 却连不上设备。问题往往不在设备,而在驱动、环境变量和后台服务进程这三件事没有理顺。这篇文章从拿到工具包开始,到配置环境、首连设备、常用命令和排障,按顺序做就能跑起来。

2. hdc 工具包的组成与选型:先弄清楚里面是什么再去下载

hdc 不是一个单独的 exe 文件那么简单。把它当成一组有依赖关系的组件来看,后面遇到问题时才能顺着链路快速定位。这章先把工具包里面是什么讲清楚,再说从哪下载、怎么选版本。

2.1 hdc 工具链的四个组成:客户端、服务端、设备端驱动与文档

第一层是客户端,也就是你敲的 hdc 命令本身。在 Windows 上它是 hdc.exe,在 macOS 和 Linux 上是同名的可执行二进制。它只负责解析你输入的子命令和参数,然后把请求转发给本机的服务进程,自己并不直接和设备通信。很多人误以为 hdc 是个单文件工具,拷到哪都能用,实际上少了它依赖的组件,命令会报缺库或直接闪退。

第二层是服务端,常被称作 hdc server。客户端首次运行时会自动把它拉起,常驻在后台,负责维护与一台或多台鸿蒙设备的连接会话。它监听本地一个端口,统一管理 USB 和 TCP 两种连接通道。这个后台进程的状态直接影响所有后续操作:server 卡死,hdc 命令就会长时间无响应;server 版本旧,新设备就握手失败。很多「玄学问题」最后都定位在它身上。

第三层是设备端的守护进程 daemon,鸿蒙系统出厂时内置。当插上 USB 或建立 TCP 连接时,本机 server 和设备端 daemon 完成握手,之后才能执行 shell 命令、安装应用、截图这些操作。第四层是驱动和文档:Windows 下如果没有鸿蒙设备的 USB 驱动,设备在系统设备管理器里会显示为带感叹号的未知设备,hdc 自然找不到它;官方分发的工具包里通常带有驱动目录和设备开发文档,装完工具最好看一眼设备管理器确认驱动就绪。

这条链路可以用一句话概括:你敲的 hdc 先到本机 server,再通过 USB 或 TCP 到设备端 daemon。这也解释了为什么拔掉设备后 hdc 命令依然能启动——server 进程还活着。排查问题时顺序就从下往上:先看设备端驱动和授权,再看本机 server 的状态,最后才怀疑命令本身写错了。

2.2 hdc 与 adb 的边界:哪些命令不能直接平替

从安卓 adb 转过来的开发者,很容易有一个惯性:把 hdc 当成 adb 改了个名字。这个判断一半对一半错。命令风格确实相似,list targets、install、uninstall、shell 这些子命令一眼就能认出同源关系;但具体行为上有不少差异,最典型的是包管理命令和系统日志体系。adb 的 pm install、am start 在鸿蒙设备上并不适用,鸿蒙自己的包管理命令是另一套;日志从 logcat 换成了 hilog 体系,过滤参数和输出格式都不一样。所以别把 adb 脚本直接改个命令名就扔上去跑,至少要完整执行一遍确认参数被识别。

下面是一份常用命令对照表,方便快速迁移。

目标安卓 adb鸿蒙 hdc
列出设备adb deviceshdc list targets
安装应用adb install app.apkhdc install app.hap
卸载应用adb uninstall 包名hdc uninstall 包名
进入终端adb shellhdc shell
传文件到设备adb push 本地 远端hdc file send 本地 远端
拉取设备文件adb pull 远端 本地hdc file recv 远端 本地
抓取日志adb logcathdc hilog

另一个新手容易忽略的点是网络连接方式。adb 用 connect 命令建立 TCP 会话,hdc 里对应的是 tconn 子命令,参数是 IP 加端口,例如 hdc tconn 192.168.1.100:5555。命令不通用时不用硬背,hdc help、hdc shell --help 都能查子命令用法,比对着备忘录敲靠谱。我在给团队做内部培训时经常强调一点:先分清设备和工具的关系,再记命令;如果把 hdc 当成 adb 的无脑平替,后面的排障会加倍痛苦。

2.3 下载渠道怎么选:免费版不等于第三方站点

标题里强调「免费下载」,这里必须说一句务实的话:官方本来就是免费分发的,不存在需要去第三方找破解版或绿色版的理由。常见的官方获取方式有三种,按推荐程度排序:第一种是随官方开发环境一起出现。安装鸿蒙应用开发的官方 IDE 类工具时,工具链目录里就带着 hdc,找到可执行文件后复制出来即可独立使用,这种方式版本与 IDE 绑定,通常和当前 SDK 匹配度最高。第二种是从官方开发者站点单独下载命令行工具页面,解压后得到工具包,适合不想装完整 IDE 只想拿命令行工具的人。

第三种则是各种网盘和下载站里流传的旧版本「免费工具包」。我不推荐走这条路,原因有两个:一是旧版本 hdc 与新版本系统握手协议不匹配,连上后很容易出现 device offline 或命令无响应;二是第三方下载站的安装包可能被二次打包,里面多出你不知道的组件,对于要接入内部工程链路的工具来说这是安全隐患。

下载完成后养成一个固定动作:先看 hdc version 记录版本号,再配置环境变量。遇到新设备时,优先使用与设备系统发布时间接近的较新版本,不要拿着两三年前的老文件硬试——这条是用血泪经验换来的。工具的版本匹配,比下载渠道的「快慢」更值得关注。

3. 本地环境搭建:从拿到压缩包到 hdc list targets 看到设备

环境搭建的完整顺序是:解压固定目录、配置 PATH、准备设备和驱动、连接验证。每一步都有容易忽略的细节,按这个顺序走,出错时也容易定位。

3.1 解压检查:先确认工具包结构再动手

拿到压缩包,常见格式是 zip 或 tar.gz。无论哪种,先解压到一个固定目录,不要直接解压到桌面或下载目录就完事。我一般会解压到 C:\tools\hdc(Windows)或 ~/tools/hdc(macOS、Linux),后续环境变量和脚本都依赖这个固定位置,路径里尽量别带中文和空格。

# Windows PowerShell 下解压 zip 包 Expand-Archive -Path .\hdc_tools.zip -DestinationPath C:\tools\hdc -Force # macOS / Linux 下解压 unzip hdc_tools.zip -d ~/tools/hdc # 解压后先看目录结构,确认可执行文件和驱动目录存在 ls -la ~/tools/hdc

这里的关键动作是解压后先看目录结构,而不是急着去找 exe。不同时期发布的工具包内部布局不完全一致,有的把 hdc 放在根目录,有的放在 toolchains 子目录,有的压缩包自带驱动和文档。看一眼结构,确认 hdc 可执行文件的位置,顺便确认有没有驱动安装目录,后面配置 PATH 时心里有数。

参数说明:Expand-Archive 的 -Force 用于覆盖已有解压结果;unzip 的 -d 指定解压目标目录;ls -la 用于核对文件权限。macOS 或 Linux 下如果可执行文件缺少 x 权限,需要先执行 chmod +x 给执行权限,否则最后一步会被系统拒绝。

3.2 PATH 配置:Windows 和 macOS 下的最小操作

把工具解压到固定目录之后,下一步是让终端在任意路径下都能直接调用 hdc。Windows 上常见做法有两种:一种是在「系统属性 → 环境变量 → Path」里手动添加 C:\tools\hdc;另一种是用 setx 命令。我建议优先用手动方式,原因马上说明。

# Windows PowerShell:把 hdc 所在目录加入用户 Path setx PATH "%PATH%;C:\tools\hdc" # 重新打开 PowerShell 后验证 hdc version

setx 有个坑:它会把当前 PATH 展开后写回,如果 PATH 长度已经接近上限,可能截断或覆盖原有内容,导致其他命令失效。稳妥做法是在环境变量编辑器里手动新增一条 C:\tools\hdc,而不是用 setx 操作整条 Path。macOS 的做法也是追加到 shell 配置文件,然后重新加载:

# macOS:写入 zsh 配置并立即生效 echo 'export PATH="$HOME/tools/hdc:$PATH"' >> ~/.zshrc source ~/.zshrc # 验证 hdc version

这里用 $HOME/tools/hdc 而不是写死绝对路径,换机器、换用户后配置依然能用。注意我把工具目录加在 PATH 的最前面,避免被系统目录里其他同名命令遮蔽。如果这台机器之前装过别的 hdc,这个顺序尤其关键。验证时除了看版本号,还要确认实际调用的路径:

which hdc type hdc

which 输出实际调用的路径,type 输出还会显示它是不是别名。如果 type 结果里有 alias 字样,说明 shell 配置把 hdc 指到了别处,先去掉别名的干扰再继续。

3.3 首连设备前的三个准备:开发者模式、USB 驱动、授权弹窗

排障经验里,十个 hdc 连不上设备,有九个是下面三个准备没做齐。第一个是设备端开发者模式与 USB 调试开关。鸿蒙设备上开发者选项默认隐藏,需要在「设置 → 关于本机」里连续点击版本号若干次,直到系统提示已进入开发者模式。然后进开发者选项,打开 USB 调试开关。不同系统版本的入口路径略有差异,但思路一致,都是先开启开发者模式再允许调试。

第二个是 USB 驱动,Windows 上最容易在这步翻车。用 USB 线把设备连到电脑后,打开设备管理器,看有没有带黄色感叹号的设备。如果有,说明驱动没装或装错。优先从官方开发环境安装目录里找驱动安装程序,或者手动指定驱动路径指向工具包内驱动目录。macOS 和 Linux 一般不需要单独装驱动,但要确认数据线有没有传输能力——有的线只能充电,插上去系统有反应,hdc 却永远离线。

第三个是设备端授权弹窗。第一次连接时,设备屏幕会弹出一个是否允许 USB 调试的授权框,需要点击允许,最好勾选总是允许。很多人线插好了、驱动也装好了,就是没看设备屏幕一眼,授权弹窗被晾在那,hdc 一直报 offline。这个细节值得记牢,它排在我个人踩坑记录的前三名。

3.4 连接验证:hdc kill 和 list targets 的标准顺序

准备做完,开始第一次连接。打开终端,按顺序执行三件事:杀掉可能残留的旧 server、列出设备、检查连接状态。

hdc kill hdc list targets

先执行 hdc kill 很重要。如果之前用旧版本 hdc 连接过设备,server 进程还活着,新命令可能被旧 server 接管,导致状态混乱。kill 掉之后,下次任何 hdc 命令都会自动拉起新的 server。list targets 用于列出当前可见的设备,输出格式因版本而异,常见是每行一个设备,包含序列号或网络地址。如果输出为空,按第 4 章的排查清单逐项检查;如果输出了设备,记下第一列的序列号,多设备调试时会用到。

设备通过网线连到局域网,或者不方便插 USB 时,需要先用 tconn 建立 TCP 会话:

hdc tconn 192.168.1.100:5555 hdc list targets

参数说明:tconn 后面跟设备 IP 和端口,端口以设备端调试服务配置为准,常见的有 5555、8888。连接成功后 list targets 里会出现 192.168.1.100:5555 格式的设备。这个模式要求网络互通,设备端调试端口处于监听状态。到这里环境就算跑通了,第 5 章的常用命令都可以在这个基础上直接使用。

4. 避坑手册:hdc 连不上设备的 5 个高频翻车点

以下五条是我在开发、测试现场反复见过的踩坑记录,每条按「现象 → 原因 → 解决」展开。排查时从上往下走,往往不用走到最后一条就能解决问题。

4.1 hdc list targets 输出为空

现象:命令执行后什么也没打印,连错误提示都没有,像是什么都没发生。这是新用户遇到最多的情况。

原因:最常见是 USB 驱动缺失,设备在系统设备管理器里显示为未知设备;其次是 USB 线根本不能传数据,只能充电;再次是设备端 USB 调试开关没开。

解决:打开设备管理器,确认设备项有没有黄色感叹号;换一根确定能传数据的线;确认设备端已开启 USB 调试。最后再执行一次 hdc kill,排除旧 server 的干扰。这个顺序覆盖了绝大多数空列表场景,不要一上来就怀疑工具包是坏的。

4.2 提示 device offline

现象:hdc list targets 能看到设备,但后面执行 install、shell 命令时都提示 offline,设备明明插着线。

原因:设备端授权弹窗没确认;本机 hdc 版本与设备系统不匹配;之前授权时勾选了「仅本次允许」,拔线重连后授权失效。在这三个原因里,授权弹窗没点是最常见的,其次才是版本错配。

解决:先看设备屏幕,把授权弹窗点掉并勾选总是允许;再对比 hdc 版本和设备系统版本,把本机 hdc 换成更新或更匹配的版本;最后重新插拔 USB。排查顺序建议是:设备屏幕 → 版本 → 线材,这样覆盖率高,也节省时间。

4.3 命令执行后长时间卡住

现象:敲了 hdc shell 或 hdc hilog,光标停在那里不动,没有报错也没有输出,像是死机一样。

原因:server 与设备端握手时没有返回。常见于多台设备同时在线却没指定目标,server 不知道把命令发给谁;另一种情况是 tconn 建立的 TCP 连接已经失效,但 server 还在等待它响应。

解决:先执行 hdc list targets 确认当前会话;如果有多台设备,在命令里用 -t 参数指定序列号,常见格式是 hdc -t 设备序列号 shell,参数具体位置以 hdc help 输出为准。如果是 TCP 连接失效,重新执行 hdc tconn 建立会话,或者直接 hdc kill 后重来。卡住时不要反复敲回车,先看会话列表再决定下一步。

4.4 脚本里报 command not found

现象:在终端里手动敲 hdc 一切正常,但写进 shell 脚本或自动化任务里执行时,却报 command not found。

原因:脚本运行时的 PATH 环境变量和交互式终端不一样。尤其通过定时任务、CI 运行器这类非交互进程启动时,PATH 往往是被精简过的,你手动配置的目录根本没被加载;还有一种情况是 hdc 被 shell 函数或别名遮蔽,脚本里调到的不是同一个可执行文件。

解决:脚本开头不要依赖 PATH,直接写 hdc 的绝对路径,或者先解析出绝对路径再调用。

# 脚本中固定使用绝对路径,避免 PATH 差异 HDC_BIN="$HOME/tools/hdc/hdc" "$HDC_BIN" version "$HDC_BIN" list targets

这段逻辑说明:把 hdc 路径赋给一个变量,后续所有调用都用这个变量,脚本就与外部环境无关。如果确实需要在脚本里用相对命令名,那就在脚本开头显式 export PATH,而不是依赖交互式终端的配置。这个习惯能省掉大量 CI 排障时间。

4.5 文件传输总是中断

现象:hdc file recv 拉取设备文件,拉到一半报错,或者速度极慢;hdc file send 推送大文件时也经常失败。

原因:USB 枚举不稳定,文件过大超出了 server 默认缓冲能力;部分情况下是数据线质量差,长时间传输容易掉线。这两个原因经常叠加出现,很难一次性定位。

解决:大文件优先走 TCP 连接,先用 hdc tconn 建立局域网会话,再执行 file recv 或 file send;也可以把大文件切成小块分多次传。走 TCP 时注意设备别自动休眠,网络带宽要稳定。这个技巧对经常传日志包、视频文件的人特别有用。

5. 高频命令手册:装 HAP、抓 hilog、传文件一把梭

环境跑通之后,日常开发调试里真正高频的就是三组操作:安装卸载、日志抓取、截图与文件传输。下面把每一组的完整动作和参数细节展开。

5.1 安装与卸载:hdc install 的必带参数与包名误区

应用调试一天可能要装十几个新包,这个命令是使用频率最高的。基础用法如下。

# 安装 HAP 包 hdc install ./entry-default-signed.hap # 覆盖安装,保留应用数据 hdc install -r ./entry-default-signed.hap # 卸载应用,后面跟的是包名,不是文件路径 hdc uninstall com.example.demo

参数说明:install 不带 -r 时,如果应用已存在会直接报错;带 -r 表示覆盖安装,配合调试周期频繁重装非常方便。但不要以为 -r 一定保留应用数据,关键数据还是先在设备内做备份。卸载命令后面跟的是 bundleName 包名,不是你在桌面看到的应用显示名。想知道包名,可以用 hdc shell bm dump 输出系统包管理信息,再拉到本地过滤。

常见误区是把 .apk 文件直接喂给 hdc install,系统会报格式错误。鸿蒙应用安装包是 .hap 格式,先确认手上文件类型。另外 HAP 路径如果带空格,命令里要用引号包住整个路径,否则会被解析成多个参数。路径问题在 Windows 上尤其明显,养成加引号的习惯能少踩很多坑。

5.2 日志抓取:hilog 过滤与导出到本地

调试崩溃和性能问题时,日志是主要依据。hdc 提供了直达 hilog 的通道,用法不算复杂。

# 实时看全部日志输出 hdc hilog # 过滤包含关键字的日志 hdc hilog -e "YourKeyword" # 把日志输出到本地文件 hdc hilog > ./device.log

说明:hilog 是鸿蒙的日志系统,与安卓 logcat 体系不同,输出格式有自己的标签结构。hdc hilog 会持续输出,按 Ctrl+C 停止。用 -e 加过滤词时,匹配的是日志正文里出现的文本;不同系统版本的过滤语法略有差异,批量跑脚本之前先执行 hdc shell hilog -h 看当前版本的参数说明。重定向到本地文件时,日志会持续增长,建议用 grep 做二次过滤,或者配合定时任务做滚动保存,别让文件无限膨胀。

实际排查时,我习惯先放通日志跑一小段复现问题,再用关键字过滤缩小范围。拿到崩溃现场后,同时开两个终端,一个跑 hdc hilog,一个跑复现操作,能比事后翻日志更快定位问题。

5.3 截图与文件回传:snapshot_display 和 file recv 的配合

需要记录设备界面状态或收集现场数据时,截图加文件回传是最常用的组合。

# 在设备上截屏并保存到设备内目录 hdc shell snapshot_display -f /data/local/tmp/screen.png # 把设备文件拉回本地 hdc file recv /data/local/tmp/screen.png ./screen.png # 把本地文件推送到设备 hdc file send ./test.hap /data/local/tmp/

说明:snapshot_display 是鸿蒙系统里常见的截屏命令,但不同系统版本可能改名或调整位置。执行报 command not found 时,先到设备上确认可用命令,例如 hdc shell ls /system/bin 后过滤 snapshot 关键字,或者看 hdc shell help 的输出。不要因为一个命令不通用就判定工具包有问题,设备系统版本的差异也会影响命令集合。

file recv 和 file send 是最常用的文件通道,支持单文件也支持目录。传大文件时按第 4.5 条的方法处理,先建立 TCP 会话再传输,避免 USB 长传掉线。目标目录必须存在,file send 前可以先用 hdc shell mkdir -p 创建目录,否则会报路径错误。

最后附一份速查表,可以直接贴到工位旁边。

目标命令备注
列出设备hdc list targets空列表查驱动与授权
安装 HAPhdc install [-r] 文件.hap-r 覆盖安装
卸载应用hdc uninstall 包名包名用 bm dump 查
连网口设备hdc tconn IP:端口端口设备端配置
实时日志hdc hilogCtrl+C 停止
过滤日志hdc hilog -e 关键字语法随版本变化
截屏hdc shell snapshot_display -f 路径命令随系统版本
拉取文件hdc file recv 远端 本地大文件走 tconn
推送文件hdc file send 本地 远端目录要先存在

6. 把自动连接脚本写成固定套路

命令行工具跑通之后,下一步是把它沉淀成固定脚本,让连接、检查、安装这些动作一键完成。下面这个脚本是我个人常用的套路,适合日常批量装包和快速验证。

#!/usr/bin/env bash # 自动清理旧服务、连接设备并安装 HAP set -e HDC="$HOME/tools/hdc/hdc" HAP="$1" DEVICE="$2" # 可选,形如 192.168.1.100:5555 # 1. 清理旧 server,避免版本错配 "$HDC" kill 2>/dev/null || true # 2. 按需建立网络会话 if [ -n "$DEVICE" ]; then "$HDC" tconn "$DEVICE" fi # 3. 确认设备在线 "$HDC" list targets # 4. 安装应用 if [ -n "$HAP" ]; then "$HDC" install -r "$HAP" fi

脚本逻辑分四段:第一段 kill 旧 server,保证后续调用拉起的是干净实例;第二段在传入设备地址时建立 TCP 会话;第三段 list targets 用于在输出里确认设备在线状态;第四段才执行安装。把安装放到最后,是为了让前面任何一步失败时都能在日志里看到明确报错,而不是被安装错误掩盖。

如果脚本要跑在定时任务或 CI 环境里,可以再加一段设备在线检查:

if ! "$HDC" list targets | grep -q "$DEVICE"; then echo "设备不在线,尝试重新连接" "$HDC" tconn "$DEVICE" sleep 2 fi

这段的作用是:设备可能因为休眠或断网离线,脚本先检查一次,不在线才重新连接,避免每次都强行 tconn 导致会话冲突。路径统一用变量管理,换机器时只改 HDC 一行。

我此前有一阵子图省事,从第三方站点下了个「绿色版」hdc,结果连续两天被 device offline 反复折磨,最后发现是设备要求较新的握手协议,旧工具根本跑不了。从那以后我都从官方渠道获取工具包,把版本号记在脚本注释里,换设备时先验证兼容性再做自动化。把这个流程固定下来,之后基本没再翻过车。希望帮到你。

本文还有配套的精品资源,点击获取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/11 3:02:58

电磁泄漏防护全解析:从屏蔽室建设到红黑分离的工程实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/11 3:02:46

基于 SpringBoot 的校园二手交易系统:从需求分析到完整实现

每年六月前后,毕业生宿舍楼下总是堆满带不走的课本、台灯、小风扇和收纳箱。这些东西对毕业生来说已经成了负担,对刚入学的学弟学妹来说却是实打实的刚需。可惜传统的校园交易方式长期停留在QQ群刷屏和线下摆摊,信息过载、图片失效、找不到历…

作者头像 李华
网站建设 2026/10/11 2:59:58

C# WinForms Chart时间轴毫秒级缩放方案

简介:本资源是一份面向C#初中级开发者的时间序列图表开发实践包,聚焦Chart控件中以DateTime为X轴并实现交互式缩放的核心难点,适用于数据可视化、工业监控、日志分析等需动态展示时序趋势的Windows Forms应用场景。压缩包共187个文件&#xf…

作者头像 李华
网站建设 2026/10/11 2:59:30

基于PLM的数字化工厂:打通BOM与变更闭环的落地指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/11 2:59:28

PointNet与PointNet++实战:点云分类分割从理论到PyTorch复现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/11 2:58:57

MySQL批量更新性能优化:逐条UPDATE与CASE WHEN的取舍

我接手过的系统里,凡是运营后台带“批量”两个字的功能,十有八九最后都要落到数据库的批量 UPDATE 上。比如刚才还在群里有人问:勾选了几百个商品要改价格,一条条 UPDATE 太慢了,有没有办法一条 SQL 全改完&#xff1f…

作者头像 李华