LLVM它是什么以及如何使用它来跨平台编译

use*_*898 6 c++ cross-platform llvm

我正在这里和那里阅读有关llvm,可以用来缓解c ++中跨平台编译的痛苦,我试图阅读文档,但我不明白我如何在现实生活中使用它开发问题可以有人请解释我用简单的话说,我该如何使用它?

Dav*_*son 6

LLVM的关键概念是程序的低级"中间"表示(IR).此IR大约是汇编程序代码的级别,但它包含更多信息以便于优化.

LLVM的强大之处在于它能够将此中间表示的编译推迟到特定目标机器,直到代码需要运行之前.实时(JIT)编译方法可用于应用程序,以便在需要之前生成所需的代码.

在许多情况下,您在总部运行的程序运行时有更多信息,因此可以对程序进行大量优化.

首先,您可以将C++程序编译为单个中间表示,然后将其从该IR编译到多个平台.

您还可以尝试Kaleidoscope演示,它将引导您创建一种新语言而无需实际编写编译器,只需编写IR即可.

在性能关键型应用程序中,应用程序基本上可以在需要运行之前编写自己需要运行的代码.