Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/141.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 是否有为编译特定IR到架构特定代码而构建的LLVM的备用库?_C++_Compiler Construction_Intermediate Language - Fatal编程技术网

C++ 是否有为编译特定IR到架构特定代码而构建的LLVM的备用库?

C++ 是否有为编译特定IR到架构特定代码而构建的LLVM的备用库?,c++,compiler-construction,intermediate-language,C++,Compiler Construction,Intermediate Language,我想问的是,是否有库提供了他们所需的IR规范,并提供了将包含该IR的文件编译成机器代码的程序。我不想使用LLVM的原因有: 我想自己编写生成IR的代码 当我在不同的计算机上工作时,安装LLVM开发库有点麻烦 我喜欢LLVM允许程序员生成IR,而不必担心编译到汇编,所以我仍然需要这个功能 尽管它的应用范围似乎稍小(特别是在分析方面)。程序生成的IR代码可以用LLVM工具编译成机器代码。这不需要LLVM库的开发版本。 您可以自己生成LLVM IR,而不是使用LLVM的API。LLVM IR有一个方

我想问的是,是否有库提供了他们所需的IR规范,并提供了将包含该IR的文件编译成机器代码的程序。我不想使用LLVM的原因有:

  • 我想自己编写生成IR的代码

  • 当我在不同的计算机上工作时,安装LLVM开发库有点麻烦

  • 我喜欢LLVM允许程序员生成IR,而不必担心编译到汇编,所以我仍然需要这个功能


  • 尽管它的应用范围似乎稍小(特别是在分析方面)。

    程序生成的IR代码可以用LLVM工具编译成机器代码。这不需要LLVM库的开发版本。

    • 您可以自己生成LLVM IR,而不是使用LLVM的API。LLVM IR有一个方便的文本表示来实现这一点

    • 您可以只安装LLVM二进制文件来处理IR,而不使用它们的后端库,因此不需要设置开发库


    有许多中间表示和目标运行时。最常见的是Java,许多语言都将其用作后端。当然还有.Net,许多语言也使用它。这两种语言都有很好的文档记录和使用,而且许多语言(特别是Java运行时)都是开源的。您是指生成LLVM IR还是任何非特定IR?