【发布时间】:2020-03-24 10:27:23
【问题描述】:
我有一个关于使用 GCC 读取 .s 文件的问题。
我使用的是 Ubuntu 18.04 和 GCC。
我想通过像这样读取 .s 文件来制作 MIPS 汇编器:
$./runfile 汇编文件
这里,runfile 是 c/c++ 的输出文件,“汇编文件”是 .s 文件。
我必须为此做些什么?
【问题讨论】:
-
我不明白你在做什么。什么是“c/c++ 的输出文件”?如果您想编写汇编程序,请阅读一些有关词法分析和解析技术的文献。
-
对不起。我写得含糊其辞。我只想用 C/C++ 编写关于 MIPS 汇编器的代码。 (因为这是作业。)我必须使用 C/C++ mips 编译器读取 .s 文件并将 .s 文件编译为二进制文件(.o 文件)
-
@Karo 如果您想使用 GCC for MIPS 将程序集 (.s) 文件组装成目标文件,那么我不明白您为什么需要自己的汇编程序。毕竟,GCC for MIPS 确实包含一个汇编程序。
-
在大多数发行版上,如果你有 clang,你甚至不需要交叉编译器包。例如在 Arch Linux 上,
clang -c -target mips可以组装 MIPS.s文件。所以你不需要安装 MIPS 交叉编译器和交叉汇编器。 (Ubuntu 的 gcc-mips 包应该在同一个包中包含 gcc 本身和 cross-binutils,所以如果你想要 GNU 工具链安装它。)