news 2026/9/7 11:17:13

符号链接实战:游戏存档跨盘迁移与C盘空间释放

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
符号链接实战:游戏存档跨盘迁移与C盘空间释放

游戏玩得越久,存档体积就越可观。尤其是开放世界游戏、模拟类游戏,以及带大量截图、录屏和本地缓存的工具软件,不知不觉就能占掉 C 盘几个 GB 甚至几十 GB。很多人第一反应是把存档文件夹复制到 D 盘,再删除原文件夹,但下一次游戏启动时,游戏又会重新生成一个空白目录,存档等于白搬。真正可靠的方案是使用 Windows 的符号链接(Symbolic Link)功能:原路径仍然留在原地,底层真实数据放到另一块磁盘上,软件按原路径读写时,系统会自动访问指向的新位置。这样既保证了游戏能按固定路径读取存档,也完成了跨盘符数据迁移,同时不会把同一份数据复制成两份,从而避免重复占用空间。

本文围绕“游戏存档迁移”和“大文件夹跨盘符共享”两个场景展开,会讲清楚符号链接到底是什么、和快捷方式有什么区别、mklink命令怎么用、迁移之后如何验证、常见报错如何排查,以及重装系统后如何把存档找回来。整个操作在 Windows 10 / Windows 11 上都可以落地,材料中的版本差异会在正文里单独说明。

1. 先理解符号链接:它是指针,不是副本

1.1 符号链接到底解决什么问题

符号链接是 NTFS 文件系统提供的一种“重解析点(Reparse Point)”机制。通俗地说,它是在原来的文件路径上放了一个“路标”,操作系统访问这个路标时,不会直接读路标本身,而是按照路标里记录的路径,转到真实数据所在的位置继续操作。

这正好解决游戏存档迁移的两个核心矛盾:

  • 游戏代码通常写死了存档路径,比如C:\Users\<用户名>\Documents\My Games\<游戏名>,用户没法在游戏设置里随意改动。
  • C 盘空间有限,真实数据必须搬到 D 盘或 E 盘,但搬走后路径就变了。

符号链接的做法是:真实数据放在 D 盘,C 盘原位置保留一个符号链接。游戏仍然访问 C 盘的原路径,系统在底层把请求转发到 D 盘。游戏感知不到路径变化,数据却已经完成了迁移。

1.2 与快捷方式、硬链接、目录联接的区别

不少读者会把符号链接和快捷方式混淆。快捷方式本质上是一个.lnk文件,里面记录了目标路径。大多数应用程序在打开文件时,并不会主动解析.lnk文件,只有用户在资源管理器里双击快捷方式时,系统才会跳转。所以快捷方式适合人工点击,不适合让软件透明读取。

常用的几种链接方式对比如下:

类型创建方式是否支持跨盘符创建符号链接是否要管理员权限软件透明识别程度典型用途
快捷方式右键菜单创建支持不需要低,多数程序不会自动跟随手动打开文件或目录
硬链接mklink /H不支持,只能同分区不需要高,文件级操作同一分区的文件多入口
目录联接mklink /J支持通常不需要高,目录级操作目录迁移、兼容老路径
目录符号链接mklink /D支持需要高,目录级操作跨盘目录迁移、共享数据
普通复制copyxcopyrobocopy支持不需要高,但原路径会失效备份、归档、迁移前的临时复制

对于游戏存档这种“包含大量散文件、需要软件透明读取”的场景,硬链接逐文件维护成本太高,快捷方式游戏不识别,普通复制解决不了路径问题。最合适的就是目录符号链接mklink /D,在部分权限受限环境里也可以用目录联接mklink /J作为备选。

1.3 跨盘符共享为什么不会重复占用空间

符号链接里保存的只是一段目标路径字符串,而不是文件数据本身。NTFS 在解析到重解析点后,会直接转向目标路径完成读写。因此,磁盘上只有真实数据一份,链接本身只有几十字节到几百字节的开销。

这里要注意“不重复占用空间”的前提:迁移前必须把真实数据移动到目标盘,而不是先复制一份再创建链接。如果只是复制一份到 D 盘,C 盘原位置继续保留完整副本,那 C 盘空间并不会释放。

2. 准备环境:权限、磁盘格式和测试目录

2.1 检查 Windows 权限与开发者模式

创建符号链接在 Windows 中不是普通用户默认拥有的权限,它依赖一个名为SeCreateSymbolicLinkPrivilege的特权项。默认情况下,管理员账户需要以提升权限运行命令行才能获得该特权,普通用户通常没有权限。

可以通过下面的命令快速判断当前命令行是否具备管理员权限:

net session

如果系统提示“发生系统错误 5。拒绝访问”,说明当前不是管理员上下文。此时需要以管理员身份重新打开命令提示符:

runas /user:Administrator cmd

也可以直接在开始菜单里搜索“cmd”,右键选择“以管理员身份运行”。

另外,Windows 10 / Windows 11 提供了“开发者模式”。打开后,普通用户账户也能获得创建符号链接的权限。不同版本菜单位置略有差别,可以在系统设置里直接搜索“开发者选项”,然后打开“开发人员模式”。

注意:如果是在公司电脑、域环境或安装了额外安全策略的机器上,可能连管理员也无法直接创建符号链接。此时可以先尝试mklink /J创建目录联接,它的权限要求更低,很多迁移场景也能完成。

2.2 磁盘和路径规划

目标磁盘建议是 NTFS 格式。FAT32 单个文件大小限制为 4GB,权限控制也弱,不适合存放游戏存档这类包含大量小文件和可能超过 4GB 的截图录屏文件的目录。检查分区格式:

fsutil fsinfo volumeinfo D:

命令输出里能看到文件系统名称和文件系统标志。

路径规划建议遵循以下原则:

事项建议原因
目标盘D 盘或其他非系统盘重装系统后数据不丢失
目标目录命名使用英文和数字,避免空格和特殊字符兼容性最好,第三方工具也不容易出错
目录层级先建统一根目录,如D:\GameData后续查找和维护方便
C 盘剩余空间迁移前确认足够完成一次复制防止复制中途空间不足

真实数据目录不要直接放到磁盘根目录,容易和其他文件混在一起。建议在目标盘建立类似D:\GameData\<游戏名>的目录结构。

2.3 先用小目录跑通“创建-验证-删除”

不要第一次就直接对真实存档操作,建议先在一个临时目录里完整演练一遍。这样能同时验证权限、命令参数和理解可能遇到的问题。

在命令提示符中依次执行:

mkdir D:\LinkDemo\RealData echo demo > D:\LinkDemo\RealData\hello.txt mklink /D D:\LinkDemo\VirtualLink D:\LinkDemo\RealData

第一条命令创建真实数据目录,第二条在真实数据目录里生成一个测试文件,第三条创建目录符号链接。注意mklink的参数顺序:第一个参数是链接路径,第二个参数是真实数据路径。

验证链接:

dir D:\LinkDemo\VirtualLink dir /AL D:\LinkDemo

第一次dir应该能看到hello.txt,说明访问链接目录等价于访问真实数据目录。第二次dir /AL会列出符号链接,输出中会带有<SYMLINKD>标记。

删除链接:

rmdir D:\LinkDemo\VirtualLink

执行后再查看D:\LinkDemo\RealData\hello.txt,文件仍然存在,说明删除链接没有删除真实数据。这个“创建-验证-删除”闭环跑通后,再操作真实存档。

3. 完整案例:把游戏存档从 C 盘迁到 D 盘

3.1 找到游戏存档的真实路径

不同游戏的存档位置差别很大。常见的位置包括:

位置示例路径说明
“我的文档”目录C:\Users\<用户名>\Documents\My Games\<游戏名>很多单机游戏使用
AppData 本地目录C:\Users\<用户名>\AppData\Local\<开发商>\<游戏名>CDPR、Bethesda 等厂商常用
AppData 本地低权限目录C:\Users\<用户名>\AppData\LocalLow\<开发商>\<游戏名>Unity 游戏常用
AppData 漫游目录C:\Users\<用户名>\AppData\Roaming\<开发商>\<游戏名>用于配置文件或部分存档
Steam 云存档目录C:\Program Files (x86)\Steam\userdata\<SteamID>\<AppID>\remoteSteam 云同步的本地缓存
Ubisoft 游戏存档C:\Program Files (x86)\Ubisoft\Ubisoft Game Launcher\savegamesUplay 平台游戏常见

查找时,先进入这些目录看有没有游戏名称或开发商目录,再根据文件夹修改时间、内部文件扩展名判断哪一个是真正的存档目录。更准确的做法是在游戏内查找“打开存档目录”或“显示存档位置”的功能,或者在游戏论坛、Steam 社区指南里查对应游戏的存档路径说明。

以 CDPR 游戏为例,路径可能是:

C:\Users\<用户名>\AppData\Local\CDProjektRED\Cyberpunk 2077

实际操作时,把<用户名>替换成当前 Windows 用户目录名。查看当前用户目录名可以用:

echo %USERNAME%

3.2 用 robocopy 复制存档到目标目录

找到真实路径后,先将整个目录复制到目标盘。这里推荐使用robocopy而不是普通复制粘贴,因为它能保留文件属性、时间戳,并在复制结束后返回清晰的统计信息。

robocopy "C:\Users\<用户名>\AppData\Local\CDProjektRED\Cyberpunk 2077" "D:\GameData\Cyberpunk2077\SaveGame" /E /COPY:DAT /R:2 /W:2

参数说明:

参数含义建议
/E复制所有子目录,包括空目录存档目录有嵌套时必须使用
/COPY:DAT复制数据、属性、时间戳游戏存档场景足够
/R:2复制失败时重试 2 次避免权限或占用导致的中断
/W:2每次重试等待 2 秒缩短失败等待时间
/L仅列出待复制文件,不真正复制用于预检时单独执行

复制完成后,robocopy会输出复制统计。看到“复制”数字为 0 且有“完成”信息,不代表失败,需要关注“失败”一栏。如果失败数为 0,说明复制成功。

复制完成后,先不要删除原目录。建议直接进入目标目录手工打开一个存档文件,确认文件字节数和来源一致。也可以再用一次robocopy/L参数做纯校验:

robocopy "C:\Users\<用户名>\AppData\Local\CDProjektRED\Cyberpunk 2077" "D:\GameData\Cyberpunk2077\SaveGame" /E /L

如果输出里显示“无待复制文件”,说明两边目录内容基本一致。这里的/L只是列出“如果真正执行复制会处理哪些文件”,并不会修改目标目录。

3.3 删除原文件夹并创建符号链接

确认目标目录数据完整后,删除原文件夹下面的真实数据,这一步的目的是把 C 盘空间释放出来。删除前一定要再次确认数据已经完整复制到 D 盘。

rmdir /S "C:\Users\<用户名>\AppData\Local\CDProjektRED\Cyberpunk 2077"

rmdir /S会删除目录及其内容。因为此时该目录仍然是真实数据,使用/S是可以的。删除后,原来的路径就不存在了。

接下来创建符号链接:

mklink /D "C:\Users\<用户名>\AppData\Local\CDProjektRED\Cyberpunk 2077" "D:\GameData\Cyberpunk2077\SaveGame"

创建成功后,系统会显示:

为 Cyberpunk 2077 <<===>> D:\GameData\Cyberpunk2077\SaveGame 创建的符号链接

此时 C 盘原路径又“看起来”存在了,但它只是一个指向 D 盘的符号链接。

3.4 验证游戏能正常读取和写入

链接创建完成后,至少要做三层验证。

第一层,确认链接类型:

dir /AL "C:\Users\<用户名>\AppData\Local\CDProjektRED"

输出中应该能看到<SYMLINKD>标记的存档目录。

第二层,检查链接指向是否正确:

fsutil reparsepoint query "C:\Users\<用户名>\AppData\Local\CDProjektRED\Cyberpunk 2077"

输出里如果能解析出链接路径,说明链接有效。这个命令在某些精简版 Windows 上可能不可用,如果没有输出也不要立即判定失败,可以进入下一步直接验证游戏。

第三层,启动游戏,进入存档列表或继续游戏,确认存档能正常显示。随后在游戏中手动保存一次,观察 C 盘剩余空间没有变化,而 D 盘目标目录的存档文件更新了时间,说明写入也正常。

注意:不要只验证“能读档”,还要验证“能写档”。很多链接问题要等到游戏执行写入时才暴露。

4. 扩展:跨盘符共享大文件夹与重装系统恢复

4.1 多个路径共享同一份大文件数据

符号链接的另一个典型用法是让多个路径都指向同一份真实数据,解决“一个目录需要被多个软件访问”的问题。这里举一个具体的缓存目录例子。

假设某开发工具固定读取C:\Users\<用户名>\.m2目录作为 Maven 本地仓库,而真实仓库已经迁移到了D:\DevCache\m2。除了让 Maven 改配置,还可以在原路径位置创建链接:

mklink /D "C:\Users\<用户名>\.m2" "D:\DevCache\m2"

同理,如果两个工具分别从两个不同路径读取同一份素材库,也可以创建两个链接指向同一个真实目录:

mklink /D "C:\SharedAssets\Public" "D:\MediaLibrary\Public" mklink /D "D:\UserA\Assets" "D:\MediaLibrary\Public"

这种方式适合“多个路径访问同一份数据”的场景,但要注意写入并发问题。两个入口同时写同一个目录时,如果写入逻辑没有文件锁保护,可能产生冲突。比较稳妥的做法是:共享场景以只读访问为主,写入场景保留单一入口。

4.2 重装系统后恢复存档的操作流程

符号链接最大的收益之一,就是重装系统后不再丢档。真实数据放在 D 盘,系统盘重装只会清空 C 盘上的链接,D 盘的数据依然在。

重装完成后,恢复流程如下:

  1. 先进入 D 盘确认真实数据目录还在,检查存档文件夹的完整性和修改时间。
  2. 安装游戏,启动一次或先不要启动。如果游戏在 C 盘创建了默认存档目录,先关闭游戏。
  3. 删除游戏刚创建的空目录。因为此时目录还没有真实数据,删除很安全。
  4. 重新执行mklink /D创建链接。
  5. 启动游戏,验证读档和写档。

命令示例:

rmdir "C:\Users\<新用户名>\Documents\My Games\<游戏名>" mklink /D "C:\Users\<新用户名>\Documents\My Games\<游戏名>" "D:\GameData\<游戏名>"

需要特别提醒的是:Windows 重装后,用户名可能沿用也可能变化。如果新系统里用户名不一样,链接路径要写成新用户名对应的路径,目标路径不变。

重装后第一次启动游戏时,如果游戏开启了云同步,务必先观察本地存档版本。如果云端存档比本地 D 盘存档旧,云同步可能会用旧文件覆盖本地文件。此时可以先关闭云同步,待确认 D 盘存档正常后再开启。

4.3 什么时候应该用目录联接而不是符号链接

目录联接(Junction)是 Windows 2000 就存在的老机制,使用mklink /J创建。它和目录符号链接的区别在于:

  • 目录联接通常不需要管理员权限,创建更简单。
  • 目录联接只支持目录,不支持文件,必须使用绝对路径。
  • 符号链接支持目录和文件,且支持相对路径。

在部分反作弊系统集成较严格的游戏里,个别环境对符号链接的检测比较严格,此时可以先尝试目录联接。部分用户反馈,mklink /J创建出的目录在更多备份软件、同步工具中表现得更接近普通目录。

如果mklink /D提示权限不足,优先改用mklink /J

mklink /J "C:\Users\<用户名>\Documents\My Games\<游戏名>" "D:\GameData\<游戏名>"

5. 符号链接失效排错:五种常见现象的根因

5.1 提示没有足够权限

现象:

你没有足够的权限执行此操作。

原因通常是当前命令提示符没有管理员权限,或系统策略禁止普通用户创建符号链接。

处理方式:

  • 以管理员身份重新打开命令提示符。
  • 或者打开系统设置的“开发者选项”中的“开发人员模式”。
  • 或者改用mklink /J创建目录联接。

5.2 提示文件已存在

现象:

当文件已存在时,无法创建该文件。

原因是链接路径上已经有一个同名目录或文件。比如之前没有删除原存档目录就直接执行mklink

处理方式:先确认真实数据已经复制到目标盘,再删除原目录,最后创建链接。如果原目录是游戏自动生成的空目录,删除后创建链接不会影响存档。

5.3 游戏读不到存档或提示存档损坏

可能原因较多,按顺序检查:

  1. 链接指向的目标目录层级不对。例如目标路径直接指向了D:\GameData,而真实存档在D:\GameData\Cyberpunk2077\SaveGame下一级,游戏自然找不到存档。
  2. 目录权限不足。目标盘是移动硬盘或经过权限压缩的目录时,游戏账户无法读取。
  3. 反作弊系统或云同步对符号链接有兼容性问题。

处理方式:

  • 在资源管理器中进入链接目录,确认能看到完整存档文件,且层级和原目录一致。
  • 右键目标目录,在“安全”页签里给当前用户或 Users 组添加“完全控制”权限。
  • 关闭云同步或暂时把云同步缓存目录也一起迁移。
  • 如果确定是兼容性问题,改用目录联接mklink /J测试。

5.4 误删了真实数据

这是最危险的情况。符号链接在部分第三方删除工具里的行为不一致,某些工具会“穿透”链接,直接删除目标数据。更常见的是用户在真实数据目录里执行递归删除,删到一半才意识到站在链接的错误一侧。

预防和处理:

  • 删除链接时,先输入dir /AL确认当前路径是符号链接。
  • 删除链接本身使用rmdir 链接路径,确认链接目录下没有独立内容后再操作。
  • 执行任何递归删除前,先去目标盘查看真实数据目录是否仍然独立存在。

如果不慎误删,立即停止继续写入目标盘,使用文件恢复工具尝试找回。但最有效的还是迁移前备份,这一步不要省略。

5.5 重装系统后链接消失

这是正常现象,不代表数据丢失。符号链接本身存在系统盘上,重装系统后链接会被清除,D 盘真实数据不会受到影响。此时按 4.2 节的恢复流程重建链接即可。

四种常见问题汇总如下:

现象可能原因解决思路
创建链接提示权限不足非管理员或未开开发者模式提权执行或改用mklink /J
创建链接提示文件已存在原路径已有同名目录确认数据安全后删除原目录
游戏读不到存档链接指向层级错误或权限不足检查目标目录层级和 NTFS 权限
删除链接时误删真实数据工具穿透链接或站错目录删除前确认dir /AL结果和目标盘数据

6. 实操中的常见坑与最佳实践

6.1 坑一:先删除原文件,再复制数据

这个顺序非常危险。如果复制中途失败,原文件又已经删除,存档就会缺失。正确顺序永远是:先复制到目标盘,再验证目标盘数据完整,再删除原目录,最后创建链接。

如果 C 盘空间不足,导致无法先复制再删除,可以做一次完整备份到移动硬盘或网盘,再执行迁移。空间不足不应该是跳过备份的理由。

6.2 坑二:对链接目录执行递归删除

部分用户习惯使用rmdir /S删除目录,但如果在符号链接目录上不加区分地执行递归删除,不同工具的行为不一致,存在误删真实数据的风险。

最佳做法是:

dir /AL "链接路径的父目录"

确认链接标记后再决定操作。删除链接时使用rmdir 链接路径,不要盲目加/S。如果系统提示目录非空,说明可能站在了错误目录里,停下来检查。

6.3 坑三:只验证路径不验证写入

创建符号链接后,有些人只是用dir看到文件存在就认为成功,结果进入游戏后无法保存进度。原因是目标目录权限不足或链接指向了错误的只读目录。

验证写入的方法是:在游戏里手动保存一次,然后到 D 盘真实数据目录里确认文件更新时间发生改变。命令行层面也可以快速测试:

echo test > "D:\GameData\Cyberpunk2077\SaveGame\test.txt"

如果提示拒绝访问,说明当前账户对目标目录没有写权限。测试完成后删除这个临时文件。

6.4 一份可直接复制的迁移检查清单

迁移前:

  • 已备份原存档到另一块磁盘或云盘。
  • 已退出游戏和云同步客户端。
  • 已知晓存档原始路径与目标路径。
  • 目标盘为 NTFS 格式,剩余空间充足。
  • 已在小目录上完成一次mklink演练。

迁移中:

  • 使用robocopy /E /COPY:DAT复制目录。
  • 检查robocopy输出中的失败数为 0。
  • 抽查目标目录里的核心存档文件。
  • 删除原目录前再次确认目标盘数据完整。
  • 删除原目录后立即执行mklink /D创建链接。

迁移后:

  • 使用dir /AL查看链接标记。
  • 启动游戏,确认读档正常。
  • 在游戏中手动保存一次,确认 D 盘文件时间更新。
  • 保留原备份至少一周,确认稳定后再删除。

7. 从存档迁移延伸到开发机数据目录

7.1 适合迁移的常规数据目录

符号链接不仅用于游戏存档,很多开发工具和日常软件的缓存目录也适合迁移:

  • Maven 本地仓库:C:\Users\<用户名>\.m2
  • npm 缓存:C:\Users\<用户名>\AppData\Local\npm-cache
  • 浏览器缓存或下载目录
  • Docker Desktop 的 WSL 数据盘上的大型镜像目录
  • 视频剪辑软件的缓存和素材库
  • 虚拟机镜像文件

迁移思路与游戏存档完全一致:先停掉正在访问该目录的进程,再复制数据到目标盘,删除原目录,创建符号链接,最后启动软件验证。开发工具目录迁移时,可以同时备份一份原配置,避免软件启动后自动重建空目录。

7.2 不适合直接用符号链接的场景

符号链接不是万能的。以下场景要谨慎:

  • 需要高一致性备份的快照工具,可能只备份链接本身而不备份目标数据。
  • 反作弊驱动集成较深的联机游戏,可能拒绝符号链接路径的存档写入。
  • 目标盘是 U 盘或移动硬盘时,拔掉设备后所有链接都会失效,需重新创建或插入设备后才能恢复。
  • 多人共享同一份真实数据时,并发写入可能破坏数据完整性。

遇到这些场景时,优先考虑其他方案:软件自带修改路径功能就用软件配置;没有的话再评估目录联接或磁盘分区容量调整。

7.3 下一步建议与练习方式

对于新手,建议不要直接在大型游戏上测试,先在D:\LinkDemo这类临时目录里反复操作几次,直到能不看笔记完成“创建链接、验证、删除链接”三个动作。理解mklink /D的参数顺序和验证方式后,再迁移真实数据。

熟练之后,可以把符号链接纳入日常维护清单:给 D 盘增加一个统一的数据根目录,所有迁移过的游戏、缓存、素材都按盘符:\GameData\<名称>的规律归档。这样即使将来重装系统,恢复流程也只需要根据清单重建链接,不需要重新回忆“当年把存档放在哪个位置”。

回到最核心的技术判断:符号链接是通道,不是副本;迁移的顺序是复制、验证、删除、建链;验证的标准是游戏能读能写。记住这三点,游戏存档和大型文件夹的跨盘符迁移就不会再踩坑。

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

Android 11分屏功能实现:从配置到代码实战

简介&#xff1a;Android 11/Q分屏功能实现Demo是一份面向Android开发者的示例工程&#xff0c;演示了在Android 11系统中开启、关闭分屏&#xff0c;以及在分屏模式下切换任务的具体实现&#xff0c;适合需要适配多窗口或多任务场景的进阶开发者参考。压缩包共514个文件&#…

作者头像 李华
网站建设 2026/9/7 11:16:01

2026国赛30天数学建模备赛全攻略:团队协作与真题实战

2026 年国赛&#xff08;全国大学生数学建模竞赛&#xff09;如果按往年的节奏来算&#xff0c;真正能完整利用的备赛时间&#xff0c;通常就是 30 天左右。这个周期不长不短&#xff0c;足够把一支队伍从“会建模、会写代码、会写论文”拉到“能在 72 小时内稳定产出完整论文”…

作者头像 李华
网站建设 2026/9/7 11:14:10

Claude Code安装配置与实战指南:AI编程助手深度集成开发

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

作者头像 李华
网站建设 2026/9/7 11:13:19

CMSIS-5源码深度解析:从Cortex-M内核到工程落地实践

做了这么多年嵌入式&#xff0c;说实话&#xff0c;真正敢拍着胸脯说“我把ARM官方那套CMSIS源码从头到尾啃完过”的人&#xff0c;不多。大多数时候我们都在用Keil、IAR或者CubeMX自动生成的工程&#xff0c;对着main函数里的while(1)一顿操作&#xff0c;却很少去想&#xff…

作者头像 李华