0

我们在编译代码(不是用 C/C++ 编写)后生成了目标文件。是否可以从此目标文件生成等效的 RISC-V 代码?如果是这样,怎么做?

4

1 回答 1

3

二进制翻译是一件事,但不是微不足道的。与其他编译器基础设施相比,它是一个相对小众的东西。此外,您似乎想要静态翻译(即为目标平台生成一个完整的二进制文件,并且在运行时什么也不做)。静态翻译器要么有可接受的减速并且不支持自修改代码(可能还有其他高级功能),要么通过实现一个功能齐全、速度非常慢的模拟器来支持所有这些东西。

无论如何,实现一个是相当复杂的,尤其是对于像 x86 这样复杂的架构。除非您找到一个已经可以从 x86 到 RISC-V 的通用二进制翻译器,否则最好将程序移植到可以为 RISC-V 编译的形式(例如,具有更广泛编译器支持的更主流语言)。由于您似乎可以访问源代码,这应该是可行的——并且还可能提高未来的可维护性。但首先,双重和三重检查您是否可以找到当前使用的针对 RISC-V的语言的编译器。

于 2015-09-21T12:15:05.397 回答