gpt4 book ai didi

compiler-construction - clang 和 clang-mp-3.3(3.2 或 3.4)有什么区别?

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

this 有类似的问题但我对答案不满意。

我尝试安装clang。在尝试安装 clang 后,我得到了两个 clang 。
一个是/usr/bin/clang 或 clang++ 和其他/opt/local/bin/clang-mp-3.3 或 clang++-mp-3.3 (我从 macport 安装的)

当我编译简单程序时它们的行为相同,但当我尝试编译其他大而复杂的 C++ 代码时它们的行为不同。我尝试阅读 documentation得到一些概述。

从这里 ticket我能够知道 macport clang 更接近 gcc。我知道 clang 做前端工作(作为 c 类型语言解释器),而 llvm 是后端。首先是什么以及如何产生差异?感谢您的时间。

最佳答案

TL;DR :如果它们在 llvm 版本方面足够接近,它们的行为应该相似(可能在其中一个上添加了优化/功能)。但是没有任何信息可以用来找出你的意思。

从我看到的Portfile ,{llvm,clang}-3.4 端口(以及其他类似的,我假设)安装一个普通的 llvm 和/或 clang。

例如:最新发布的 Xcode 自带:

Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn)
Target: x86_64-apple-darwin13.2.0
Thread model: posix

Apple 没有告诉我们具体的修订号,但我们知道他们的私有(private) clang 是基于 2013 年中至 2014 年初之间从主干分支出来的 llvm 的修订。

我也不明白您所说的“macport clang 更接近 gcc”是什么意思。这似乎没有任何意义,但我可能会误解。 Apple 的 clang 非常接近主线 clang,AFAIK。他们有他们的版本,这些版本基于一个未知的修订版,但仍然存在。

Clang 是 llvm 项目的 C 前端。它由 llvm 社区指导,所有(公共(public))工作都发生在主 llvm 存储库(在 clang 的目录上)。但是您仍然可以在没有 clang 的情况下安装 llvm,或者在没有(大部分?)其他 llvm 实用程序的情况下安装 clang。这就是为什么你在 macports 上有单独的 clang 和 llvm 包的原因。

你为什么说他们的行为不同,他们的行为有多大不同?您是否使用相同的选项进行编译?哪个?它们是否都来自同一个版本,例如 3.3 和 3.3svn(这仅意味着它们之间最多有大约 6 个月的时间,这不会使它们成为完全相同的版本)?

关于compiler-construction - clang 和 clang-mp-3.3(3.2 或 3.4)有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18059043/

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