gpt4 book ai didi

java - 如何在编译器中包含汇编器

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:44:21 26 4
gpt4 key购买 nike

我目前正在参加一个编译器类(class),并成功地用 JAVA 构建了一个小型编译器,它接受一个文件作为输入并写入 NASM 输出。

然而,我想知道如果我决定分发我的编译器,我将如何用它打包一个汇编器?

我确定我不能要求最终用户先将代码编译为 NASM,确保他/她安装了 NASM,然后使用它来构建最终的可执行文件!

此外,由于我想针对几个不同的系统,为每个预期目标编写高效汇编器的想法显然是一项艰巨且耗时(更不用说看似不可能的任务)!

感谢您的帮助。

最佳答案

您可以选择一个开源汇编程序并将其与您的编译器一起打包。但是,请注意许可证,汇编器的许可证可能还要求您在特定许可证下发布编译器。

当然这并不能解决你的第二个问题:如何使这个平台(或至少是 CPU)独立。然后通过汇编语言(或直接到机器代码)不是要走的路。

一个解决方案可能是使用其他人的后端。 LLVM 目前有点“热”。在某种程度上,这是通过向 LLVM 发送“平台无关的汇编语言”来实现的,然后 LLVM 会为您输出目标平台的目标代码。

关于java - 如何在编译器中包含汇编器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29443038/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com