Linux/Windows 系统架构查看 和 安装包选择指南(嵌入式开发场景适配),以 Clion 为例。

安装包架构必须匹配「运行环境」的CPU架构:
- 本地直接运行(如PC上的CLion、编译器)→ 匹配主机架构;
- 嵌入式开发(如交叉编译工具链、开发板SDK)→ 匹配目标设备架构(而非主机架构)。
| 架构名称 | Linux标识 | Windows标识 | 说明 |
|---|---|---|---|
| 64位Intel/AMD | x86_64, amd64 | AMD64, x64 | 主流桌面/服务器架构 |
| 32位Intel/AMD | i386, i686 | x86 | 旧系统/兼容模式 |
| 64位ARM | aarch64, arm64 | ARM64 | 苹果M系列、树莓派4、服务器 |
| 32位ARM | armv7l, armhf | ARM | 树莓派3及更早版本 |
| PowerPC 64位 | ppc64le | - | IBM Power系统 |
| s390x | s390x | - | IBM Z系列大型机 |
一、Windows 系统(PC/开发主机)
1. 查看系统架构的方法
| 方法类型 | 操作步骤 | 架构识别结果 |
|---|---|---|
| 图形化(推荐) | 1. Win+I → 系统 → 关于; 2. 查看「设备规格 → 系统类型」 | - 64位操作系统,基于x64的处理器 → x86_64(AMD64) (主流Intel/AMD CPU); - 64位操作系统,基于ARM64的处理器 → ARM64(如Surface Pro X)。 |
| 命令行(精准) | 1. Win+R → 输入cmd/ powershell; 2. 执行命令:echo %PROCESSOR_ARCHITECTURE% |
- 输出 AMD64 → x86_64; - 输出 ARM64 → ARM64; - 输出 x86 → 32位x86(罕见)。 |
| 系统信息工具 | 1. Win+R → 输入msinfo32; 2. 系统摘要 → 系统类型 | 同图形化方法,显示「x64-based」或「ARM64-based」。 |
batch
# 命令提示符(CMD)
systeminfo
# 常见结果:
# - X64 或者 AMD64:64位Intel/AMD
# - x86:32位
# - ARM64:ARM架构64位
2. 安装包选择规则(嵌入式开发常用软件)
| 软件类型 | x86_64(Intel/AMD64)架构选择 | ARM64架构选择 |
|---|---|---|
| IDE(CLion、VS Code) | 选择无aarch64后缀的版本(如CLion-2025.3.1.tar.gz) | 选择aarch64后缀版本(如CLion-2025.3.1-aarch64.tar.gz),原生运行无性能损耗 |
| 编译器(MinGW、LLVM) | 下载x86_64版本(如mingw-w64-x86_64) | 下载arm64版本(如mingw-w64-arm64) |
| 交叉编译工具链(如ARM-GCC) | 主机架构选x86_64(如arm-linux-gnueabihf-gcc for x86_64) | 主机架构选arm64(如arm-linux-gnueabihf-gcc for arm64) |
| 嵌入式SDK(如STM32CubeIDE) | 直接选择Windows x64版本(官方通常默认适配x86_64) | 需确认SDK是否支持ARM64,无则通过Rosetta 2转译(仅Windows on ARM支持) |
安装包选择
batch
# 常见的安装包命名:
# 1. 明确标注架构
setup-x64.exe # 64位版本
setup-x86.exe # 32位版本
setup-arm64.exe # ARM64版本
二、Linux 系统(PC/服务器/开发板)
1. 查看系统架构的方法
| 命令/工具 | 执行命令 | 架构识别结果(嵌入式开发高频场景) |
|---|---|---|
| uname(最常用) | uname -m |
- x86_64 → 主机x86_64架构; - aarch64 → 开发板/ARM服务器(如树莓派4/5、鲲鹏); - armv7l → 32位ARM开发板(如STM32MP1、树莓派3)。 |
| arch(简洁) | arch |
输出与uname -m一致,如x86_64、aarch64、armv7l。 |
| lscpu(详细) | lscpu |
查看「Architecture」字段: - x86_64 → x86_64; - aarch64 → ARM64; - armv7l → ARMv7(32位)。 |
| 包管理器查询 | Debian/Ubuntu:dpkg --print-architecture; CentOS/RHEL:rpm -q --queryformat '%{ARCH}\n' glibc |
- amd64 → x86_64; - arm64 → aarch64; - armhf → armv7l(32位ARM硬浮点)。 |
bash
# 使用uname命令(最常用)
uname -m # 显示机器硬件名称
# 常见结果:
# - x86_64:64位Intel/AMD
# - i386/i686:32位Intel
# - aarch64/arm64:64位ARM
# - armv7l:32位ARM
# - ppc64le:PowerPC 64位小端
# - s390x:IBM Z系列
2. 安装包选择规则(嵌入式开发重点)
(1)本地运行软件(如CLion、Git、编译器)
| 系统架构 | 安装包后缀/标识 | 示例(CLion/编译器) |
|---|---|---|
| x86_64 | .tar.gz(无aarch64后缀)、amd64(deb)、x86_64(rpm) | CLion-2025.3.1.tar.gz;gcc-x86_64-linux-gnu |
| aarch64 | aarch64.tar.gz、arm64(deb)、aarch64(rpm) | CLion-2025.3.1-aarch64.tar.gz;arm64-linux-gnu-gcc |
| armv7l(32位ARM) | armhf.deb、armv7hl.rpm | gcc-arm-linux-gnueabihf(32位交叉编译器,本地运行需选armhf版本) |
Linux包命名规则
bash
# 常见包格式和架构标识
# DEB包(Debian/Ubuntu):
package_版本_架构.deb
# 示例:chrome_1.0_amd64.deb, chrome_1.0_i386.deb, chrome_1.0_arm64.deb
# RPM包(RHEL/Fedora):
package-版本.架构.rpm
# 示例:firefox-1.0.x86_64.rpm, firefox-1.0.i686.rpm
# 压缩包通用命名:
package-版本-linux-x86_64.tar.gz
package-版本-linux-aarch64.tar.gz
package-版本-linux-armv7l.tar.gz
(2)嵌入式交叉编译工具链
- 场景:在x86_64 Linux主机上,为ARM架构开发板(如aarch64、armv7l)编译程序;
- 选择逻辑:工具链的「主机架构」匹配本地Linux架构,「目标架构」匹配开发板架构;
- 示例:
- 主机x86_64 + 目标aarch64 → 选择
aarch64-linux-gnu-gcc(主机架构x86_64,目标架构aarch64); - 主机x86_64 + 目标armv7l → 选择
arm-linux-gnueabihf-gcc(目标架构armv7l,硬浮点); - 主机aarch64(如ARM服务器) + 目标armv7l → 选择
arm-linux-gnueabihf-gcc for aarch64(需确认工具链是否支持主机架构)。
- 主机x86_64 + 目标aarch64 → 选择
(3)开发板本地安装软件(如调试工具、依赖库)
- 架构匹配:开发板架构(aarch64/armv7l)→ 对应架构的安装包;
- 示例:在树莓派4(aarch64)上安装CMake →
sudo apt install cmake:arm64(Debian系); - 注意:开发板系统多为32位/64位ARM,需避免安装x86_64架构包(直接无法运行)。
三、通用注意事项(嵌入式开发避坑)
-
架构标识对应关系(避免混淆):
架构全称 常见标识 适用场景 x86_64 amd64、x64、x86 主流PC、Linux服务器 ARM64 aarch64、arm64 新型ARM开发板、ARM服务器、M系列Mac ARMv7(32位) armv7l、armhf 老款ARM开发板(如STM32MP1、树莓派3) -
安装包兼容性验证:
- Linux下若不确定包架构,可通过
file 可执行文件查看:
示例:file /usr/bin/gcc→ 输出ELF 64-bit LSB pie executable, x86-64→ 确认x86_64架构; - Windows下可通过「属性 → 兼容性」查看,但更可靠的是直接看软件官网标注的架构。
- Linux下若不确定包架构,可通过
-
嵌入式SDK选择:
- 如STM32、NXP等MCU的SDK,通常按「芯片架构」划分(如ARM Cortex-M系列),与主机架构无关,只需选择对应芯片型号的SDK即可;
- 若SDK包含工具链,需确认工具链的主机架构(如Windows x86_64、Linux aarch64)是否匹配本地环境。
-
跨架构运行解决方案:
- 若暂无对应架构安装包,Linux可通过
qemu模拟(如qemu-aarch64 ./aarch64程序),但性能较差,仅适合临时测试; - Windows on ARM可通过「设置 → 系统 → 开发者选项 → 启用适用于Linux的Windows子系统」安装ARM架构WSL,运行Linux下的嵌入式工具链。
- 若暂无对应架构安装包,Linux可通过
四、选择流程图

本地运行软件(IDE/编译器)
嵌入式交叉编译
开发板本地安装
Windows
Linux
确定使用场景
查看主机架构
查看主机架构 + 开发板目标架构
查看开发板架构
系统类型显示x64→x86_64包;ARM64→aarch64包
uname -m输出x86_64→x86_64包;aarch64→aarch64包
主机架构选工具链的「主机版本」;目标架构选工具链的「目标版本」
开发板架构(aarch64/armv7l)→ 对应架构的deb/rpm包