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

标签 c++ cross-platform llvm

我在这里和那里阅读有关 llvm 的文章,它可以用来减轻 c++ 中跨平台编译的痛苦,我试图阅读文档,但我不明白我怎么能 在现实生活中使用它发展问题有人可以用简单的话向我解释我如何使用它吗?

最佳答案

LLVM 的关键概念是程序的低级“中间”表示 (IR)。 这个IR大概是汇编代码级别的,但是包含了更多的信息,方便优化。

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

在许多情况下,您在程序运行时拥有比在总部获得的更多信息,因此可以大大优化程序。

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

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

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

关于c++ - LLVM 它是什么以及我如何使用它来跨平台编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/852002/

相关文章:

c++ - 如何使用 C++ 在列表框中显示字符串?

c++ - 什么是全局状态?它们如何影响可测试性以及如何避免它们?

iphone - 跨平台手机开发环境

javascript - 如何用LLVM替换浏览器javascript引擎?

c++ - 与 LLVM 的动态链接

c++ - OpenGL使用统一缓冲区作为数组

c++ - 如何显示模型中函数的进度条?

android - 开始 Android 开发 : Native or cross-platform?

ios - 将表情符号转换为 Unicode

llvm 运行万花筒示例