2

作为学习 MIPS 汇编的一部分,我想用 LCC 交叉编译一些 C 源文件,然后反汇编它们。我找到了一个在 Windows 上运行的MIPS 反汇编程序,但它在描述中说:

反汇编纯内存转储(原始代码)和 GCC 目标文件

我知道对于 x86 有多种可执行/目标文件格式,具体取决于目标操作系统。这是 MIPS 的情况吗?你认为这会奏效吗?或者我是否将不得不安装一个 linux 发行版,以便我可以使用像CodeSourcery这样的预编译 gcc MIPS 工具链之一?

4

2 回答 2

1

为了回答最初的问题,MIPS 上的 Linux 对可执行文件和共享对象使用 ELF 格式文件。裸机 MIPS 系统可能会使用某种形式的内存转储。来自 GNU codesourcery 工具链的 objdump 实用程序将反汇编 ELF 文件和 GCC.o文件。

于 2012-09-28T20:46:27.887 回答
1

它看起来lcc支持-S编译器选项,它发出程序集输出。也许这会为您节省一些精力?

可执行格式始终根据操作系统和编译器(显然必须协同工作)。如果您决定需要使用 gcc,http ://faculty.cs.tamu.edu/bettati/Courses/410/2006C/Projects/gxemulcygwin.html似乎讨论了一种通过 cygwin 在 Win32 下安装的方法。

于 2012-09-27T18:28:52.707 回答