打印
[应用相关]

Clang是什么?

[复制链接]
241|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
OKAKAKO|  楼主 | 2023-12-22 15:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Clang先来看看wiki百科上的官方说明:

“ Clang 是一个C、C++、Objective-C和Objective-C++编程语言的编译器前端。它采用了底层虚拟机(LLVM)作为其后端。

它的目标是提供一个GNU编译器套装(GCC)的替代品。Clang项目包括Clang前端和Clang静态分析器等。

这个软件项目在2005年由苹果电脑发起,是LLVM编译器工具集的前端(front-end),目的是输出代码对应的抽象语法树(Abstract Syntax Tree, AST),并将代码编译成LLVM Bitcode。接着在后端(back-end)使用LLVM编译成平台相关的机器语言 。Clang支持C、C++、Objective C。

Clang本身性能优异,其生成的AST所耗用掉的内存仅仅是GCC的20%左右。FreeBSD 10将Clang/LLVM作为默认编译器。

测试证明Clang编译Objective-C代码时速度为GCC的3倍,还能针对用户发生的编译错误准确地给出建议。

总结:
GCC目前作为跨平台编译器来说它的兼容性无异是最强的,兼容最强肯定是以牺牲一定的性能为基础的,苹果为了提高性能,因此专门针对mac系统开发了专用的编译器clang与llvm,clang用于编译器前段,llvm用于后端。

使用特权

评论回复
沙发
中国龙芯CDX| | 2024-1-25 12:17 | 只看该作者
Clang 是一个C、C++、Objective-C和Objective-C++编程语言的编译器前端。

使用特权

评论回复
板凳
LOVEEVER| | 2024-1-25 12:22 | 只看该作者
GCC目前作为跨平台编译器来说它的兼容性无异是最强的,兼容最强肯定是以牺牲一定的性能为基础的,苹果为了提高性能,因此专门针对mac系统开发了专用的编译器clang与llvm,clang用于编译器前段,llvm用于后端。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

212

主题

1449

帖子

4

粉丝