gpt4 book ai didi

compiler-construction - 制作一门语言,需要一个好的后端

转载 作者:行者123 更新时间:2023-12-04 13:12:41 25 4
gpt4 key购买 nike

我想做一种编译语言。我目前正在评估后端。
到目前为止,我关注 C 是因为它的执行速度、编译速度和一个名为 TCC 的小型、易于使用的编译器。

阅读了此处关于将其用作中间语言的讨论后,我正在尝试考虑如何使其与垃圾收集兼容并处理异常。到目前为止,我认为我可以同时解决这两个问题,但开销很大。

以下是我对其他可能的后端的一些想法:

  • 组装:不便携,编程非常痛苦。
  • .NET:感觉真的很慢。 5 秒启动,5 秒评估 Ironpython 和 Boo 上的 1+2。没有大型库就无法运行。
  • JVM:感觉有点慢。无法访问二进制库。没有大型库就无法运行。
  • LLVM:不支持 Windows。我听说编译后的可执行文件大小是 16 mb+
  • C--:看起来不发达。
  • C++:可能。找不到我可以捆绑的漂亮的小免费。

  • 你们中的任何人都可以改变我的想法或有更多内容要添加到此列表中吗?

    编辑

    我最近一直在尝试 LLVM。我发现他们已经预编译了二进制文件,并且可以编译为 native 程序集。

    http://www.antlr.org/wiki/display/CS652/Generating+machine+executable+binaries+with+LLVM

    以下是步骤:
  • 在 LLVM 程序集上运行 llvm-as,这会产生一个 LLVM 字节码文件。
  • 在 LLVM 字节码文件上运行 llc 以生成汇编文件。
  • 对汇编文件运行汇编程序以生成目标文件。 (或运行似乎依赖于外部安装的 c 编译器的 llvm-ld)
  • 使用 gcc 等编译为可执行文件。
  • 最佳答案

    TCC 是最好的选择。它是可移植的,并且它有一个库,因此它可以很容易地用作称为 libtcc 的后端。可执行文件比 gcc 小,它是 ANSI C。

    关于compiler-construction - 制作一门语言,需要一个好的后端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/720714/

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