我自己的电脑有 Intel Core I5。但是,我想知道如果我使用某些 RISC ISA(例如 ARM 或 powerPC),程序集会是什么样子。
我可以使用其他微架构的 ISA 将 C 代码编译成汇编吗?
不。
-march
仅影响编译器将针对的子体系结构(例如,是否会使用并非所有 CPU 上都可用的功能)。它不允许编译器完全为不同的架构构建代码。
您正在寻找的是一个交叉编译器 - GCC 的副本,它是为 x86(或其他)编译的,但编译为 PowerPC/ARM/MIPS/任何代码。构建交叉编译器是一个复杂的过程,但网上有可用的说明。
您需要为此构建(或安装)一个交叉编译器。给定的 GCC 版本仅针对一个 CPU“系列”;例如,可以构建针对 x86 和 x86_64 的 GCC 编译器。但据我所知,你无法构建一个同时针对 x86 和 PPC 的 GCC 编译器。
不过,您可以运行一个在 x86 上输出 PPC 程序集的编译器 - 这称为交叉编译器。在您的发行版的软件包存储库中查找它们,或者使用像 crossdev 这样的工具来使自己成为一个。