ubuntu中gcc支持哪些平台
导读:ubuntu中gcc支持的平台 一 架构支持概览 在 ubuntu 上,gcc 可原生运行并生成代码的主流 cpu 架构包括:x86-64、x86(i386)、arm(armv7、aarch64/armv8);同时可通过交叉编译器支持 m...
ubuntu中gcc支持的平台
一 架构支持概览
- 在 ubuntu 上,gcc 可原生运行并生成代码的主流 cpu 架构包括:x86-64、x86(i386)、arm(armv7、aarch64/armv8);同时可通过交叉编译器支持 mips、powerpc、sparc、risc‑v 等嵌入式与服务器架构。gcc 本身支持超过 60 种硬件平台,ubuntu 仓库通常提供常见目标的三元组工具链或可通过额外仓库/源码构建获得。
二 本机与多架构编译
- 本机最常见为 x86-64,默认生成 64 位程序;需要编译 32 位程序时,安装多架构支持并使用 -m32 选项:
- 安装多架构库:
sudo apt install gcc-multilib g++-multilib - 编译 32 位:
gcc source.c -o binaryfile -m32
- 安装多架构库:
- 以上配置在 64 位 ubuntu 上用于同时构建 32/64 位 应用非常常见。
三 交叉编译与三元组
- 交叉编译通过在主机上生成“运行于目标架构”的工具链或程序实现。理解 gcc 构建三元组有助于选择与配置工具链:
- build:构建工具链所用的平台(如 x86_64-pc-linux-gnu)
- host:编译出的工具链运行于哪个平台
- target:工具链生成代码的目标平台(如 arm-linux-gnueabihf、aarch64-linux-gnu、mips-linux-gnu)
- 示例三元组:arm-linux-gnueabihf、aarch64-linux-gnu、mips-linux-gnu、riscv64-unknown-elf(嵌入式裸机常用)。在 ubuntu 上可通过 apt 安装部分交叉编译器,或自行用源码/工具链脚本构建完整交叉链。
四 常见主机与目标平台对照
| 主机平台(运行 gcc 的机器) | 典型目标平台(可生成代码) | 说明 |
|---|---|---|
| x86-64 | x86-64、x86(i386) | 本机与 32 位兼容,使用 -m32 |
| x86-64 | aarch64、arm(armv7) | arm 交叉编译(如 aarch64-linux-gnu、arm-linux-gnueabihf) |
| x86-64 | mips(mips/mipsel/mips64/mips64el) | mips 交叉编译 |
| x86-64 | powerpc、sparc、risc‑v | 服务器/嵌入式交叉编译 |
| x86-64 | x86_64-w64-mingw32、i686-w64-mingw32 | 目标为 windows 的交叉编译(发行版通常提供 mingw-w64 工具链) |
| 上述目标覆盖 ubuntu 上常见需求:本地多架构、arm 与 mips 等嵌入式、以及 windows 交叉编译。具体可用三元组与包名以发行版仓库为准。 |
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu中gcc支持哪些平台
本文地址: https://pptw.com/jishu/748444.html
