有没有办法使用gcc将C转换为MIPS?

我为一个类完成了一个C到MIPS的转换,我想根据程序集来检查它。 我听说有一种configurationgcc的方法,它可以将C代码转换为MIPS架构而不是x86架构(我的电脑用户使用Intel i5处理器)并打印输出。

在Ubuntu(运行gcc)中运行terminal,我用什么命令configurationgcc转换为MIPS? 有什么我需要安装以及?

编辑:让我澄清。 请阅读。 我不在寻找使用哪种编译器,或者说“你可以交叉编译,但是你应该使用这个没有指示如何设置的其他东西”。

如果你打算发布,至less请参考说明。 GCC附带了Ubuntu。 我没有关于如何安装编译器的经验,也不容易findGCC以外的在线教程。 那么我也需要了解一下交叉编译的情况。 谢谢。

GCC 可以为大量架构生成汇编代码,包括MIPS。 但是GCC本身编译时决定了一个给定的GCC实例所针对的体系结构。 您将在Ubuntu系统中find的预编译二进制文件知道x86(可能是32位和64位模式),但不知道MIPS。

编译具有不同于GCC本身将运行的体系结构的目标体系结构的GCC被称为准备交叉编译工具链 。 这是可行的,但需要相当多的文件阅读和耐心; 您通常需要首先构build交叉汇编器和交叉链接器(GNU binutils),然后构build交叉GCC本身。

我build议使用buildroot 。 这是一套脚本和生成文件,旨在帮助生成完整的交叉编译工具链和实用程序。 在这一天结束的时候,你会得到一个完整的目标系统的操作系统和开发工具。 这包括你之后的交叉编译器。

另一个完全不同的解决scheme是使用QEMU 。 这是包括MIPS系统在内的各种处理器和系统的模拟器。 您可以使用它来运行带有MIPS处理器的虚拟机,并在该机器中安装用于MIPS的操作系统,例如Linux发行版Debian 。 这样,你就得到了一个原生的 GCC(一个在MIPS系统上运行的GCC,并为MIPS生成代码)。

QEMU的方式可能会简单一点, 使用交叉编译需要一些毛发细节的一些理解。 无论哪种方式,您将需要大约1 GB的可用磁盘空间。

这不是一个configuration的东西,你需要一个交叉编译到MIPS的GCC版本。 这需要一个特殊的海湾合作委员会build设,并设置相当毛茸茸的(build设海合会是不是心脏昏厥)。

我build议使用LCC 。 使用LCC进行交叉编译比使用GCC更容易,在当前机器上构buildLCC只需几秒钟。

你需要将源码下载到binutils和gcc-core,然后用../configure --target=mips ...编译。 您可能需要select特定的MIPS目标。 那么你可以使用mips-gcc -S

您可以交叉编译GCC,以便生成MIPS代码而不是x86。 这是一个很好的学习经验。

如果你想要快速的结果,你也可以得到一个MIPS支持预构build的GCC。 一个是CodeSourcery Lite工具链。 它是免费的,有很多架构(包括MIPS),并且已经准备好使用Linux和Windows的二进制文件。

http://www.codesourcery.com/sgpp/lite/mips/portal/subscription?@template=lite

你应该编译你自己的可以交叉编译的gcc版本。 当然这并不容易,所以你可以寻找一个不同的方法..例如这个 SDK。