DevC++怎么加载llvm的clang?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DevC++怎么加载llvm的clang?相关的知识,希望对你有一定的参考价值。

make
gdb
windres
gprof
在mingw中名字是一样的,但clang就一直找不到对应的exe

如果你想在 Dev-C++ 中使用 LLVM 的 Clang 编译器,你需要手动安装 Clang。
首先,你需要从 LLVM 的网站下载 Clang 的最新版本。 你可以从这里下载:https://releases.llvm.org/download.html
然后,你需要将 Clang 安装在 Dev-C++ 可以找到的地方。 例如,你可以将 Clang 安装在 Dev-C++ 的安装目录中,或者你可以将 Clang 安装在系统的 PATH 环境变量所指的目录中。
最后,你需要在 Dev-C++ 中配置编译器。 在 Dev-C++ 中打开“工具”菜单,然后选择“编译器选项”。 在“编译器”选项卡中,你可以找到“C++ 编译器”选项。 使用浏览按钮找到 Clang 的可执行文件,然后点击“确定”按钮保存更改。
现在,你应该能够在 Dev-C++ 中使用 Clang 编译 C++ 代码了。
参考技术A 您可以尝试安装LLVM/Clang的build 2.9,这是Dev-C++当前支持的最新版本。您需要安装LLVM/Clang编译器并将其路径添加到环境变量中。之后,您还需要在Dev-C++中手动将clang设置为默认编译器,以便您可以使用clang编译代码程序。本回答被提问者采纳

OS X 上的 LLVM 与 clang

【中文标题】OS X 上的 LLVM 与 clang【英文标题】:LLVM vs clang on OS X 【发布时间】:2011-08-08 04:38:39 【问题描述】:

我有一个关于 OS X 上的 llvm、clang 和 gcc 的问题。

llvm-gcc 4.2、llvm 2.0和clang有什么区别?我知道它们都建立在 llvm 上,但它们有什么不同?

llvm除了编译速度更快之外,相比gcc还有什么优势?

【问题讨论】:

llvm 只是一个后端,不可能有一个独立的 llvm 编译器......它只有不同的前端,比如 gcc 和 clang。 @smerlin:“llvm 编译器”是 Apple 的 clang + llvm 商标名称:developer.apple.com/technologies/tools/… 此处的其他详细信息:***.com/a/26724886/1938163 【参考方案1】:

LLVM 最初代表“低级虚拟机”,但现在它只是代表自己,因为它已经发展成为不同于传统虚拟机的东西。它是一组库和工具,以及标准化的中间表示,可用于帮助构建编译器和即时编译器。除了自己的中间表示之外,它不能编译任何东西;它需要一个特定于语言的前端才能做到这一点。如果人们只提到 LLVM,他们可能只是指低级库和工具。有些人可能会将 Clang 或 llvm-gcc 错误地称为“LLVM”,这可能会引起一些混淆。

llvm-gcc 是 GCC 的修改版本,它使用 LLVM 作为其后端,而不是 GCC 自己的。现在它已被弃用,取而代之的是 DragonEgg,它使用 GCC 的新插件系统来做同样的事情,而无需分叉 GCC。

Clang 是一个全新的 C/C++/Objective-C 编译器,它使用自己的前端,LLVM 作为后端。它提供的优点是更好的错误消息、更快的编译时间,以及其他工具更容易连接到编译过程的方法(如LLDB debugger 和Clang static analyzer)。它也是相当模块化的,因此可以用作其他需要分析 C、C++ 或 Objective-C 代码的软件的库。

这些方法中的每一种(普通 GCC、GCC + LLVM 和 Clang)都有其优点和缺点。我看到的最后几组基准测试表明,GCC 在大多数测试用例中生成的代码稍快(尽管 LLVM 在少数几个方面略有优势),而 LLVM 和 Clang 提供了明显更好的编译时间。 GCC 和 GCC/LLVM 组合的优点是已经测试了更多代码,并且可以在 C 的 GCC 风格上运行;有一些编译器特定的扩展只有 GCC 才有,有些地方标准允许实现有所不同,但代码取决于一个特定的实现。如果您获得大量遗留 C 代码,它在 GCC 中运行的可能性比在 Clang 中运行的可能性要大得多,尽管随着时间的推移这种情况正在改善。

【讨论】:

补充一下这个精彩的答案:clang 也是一组库(称为 libclang),可用于代码分析、自动完成、语法突出显示等……这对于 IDE 来说非常方便。 在为 MacOS X 或 iOS 构建时,请考虑 Clang 是 Apple 用于构建其所有 MacOS X 和 iOS 软件(包括操作系统)的软件,而 Clang 是您自动获得的,不费吹灰之力,以及您曾经寻求帮助的每个人都在使用什么。 Apple 在 gcc 4.2 之后从未支持 gcc,并且不再发布任何版本的 gcc。 @gnasher729 是的,这个答案是在 3 年前写的,当时苹果还在发布 llvm-gcc 和 Clang,并使用 llvm-gcc 作为默认编译器。从那时起,时代变了。【参考方案2】:

这里有两种不同的东西。

LLVM 是一个后端编译器,旨在在其之上构建编译器。它处理适应目标架构的代码的优化和生产。

CLang 是一个前端,它解析 C、C++ 和 Objective C 代码并将其转换为适合 LLVM 的表示。

llvm gcc 是基于 gcc 4.2 的基于 llvm 的 C++ 编译器的初始版本,现在已弃用,因为 CLang 可以解析它可以解析的所有内容等等。

最后,CLang 和 gcc 的主要区别不在于生成的代码,而在于方法。虽然 gcc 是单片的,但 CLang 已构建为一套库。这种模块化设计为 IDE 或完成工具等提供了很好的重用机会。

目前,gcc 4.6 生成的代码通常会快一点,但 CLang 正在缩小差距。

【讨论】:

【参考方案3】:

llvm-gcc-4.2 使用 GCC 前端来解析您的代码,然后使用 LLVM 生成编译输出。

“llvm 编译器 2.0”使用 clang 前端来解析您的代码,并使用 LLVM 生成编译输出。 “clang”其实只是这个前端的名字,但经常被随便用作编译器整体的名字。

【讨论】:

以上是关于DevC++怎么加载llvm的clang?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Linux 上卸载准确的 LLVM 和 CLANG 版本

clang 插件编译错误:未定义符号 llvm::Registry<clang::PluginASTAction, llvm::RegistryTraits<clang::PluginAS

OS X 上的 LLVM 与 clang

FreeBSD 为啥要废弃 GCC 改用 Clang/LLVM

从Swift桥接文件到Clang-LLVM

从Swift桥接文件到Clang-LLVM