iOS——LLVM、Clang浅析
来源:互联网 发布:后期软件 油画质感 编辑:程序博客网 时间:2024/03/29 08:38
我们在iOS调试中经常会看到Clang这个,那么Clang到底是什么呢?我们来简单了解一下。
Clang是一个C、C++、OC语言的轻量级编译器。源代码发布于BSD协议下。Clang是由C++编写,基于LLVM,发布于LLVM BSD许可证下的编译器。它与GNU C语言规范几乎完全兼容,并增加了额外的特性。
那么来比较一下Clang和GCC。Clang编译速度更快,编译产出更小、出错提示更友好。clang采用的是BSD协议,这是苹果资助LLVM、FreeBSD淘汰GCC换用Clang的重要原因。
Low Level Virtual Machine(LLVM)是一个开源的编译器架构,Clang是LLVM的一个编译器前端。由于优秀的设计,使得Clang非常适合用于开发源代码级别的分析工具。Clang对源程序进行语法分析和语义分析,并将分析结果转换为Abstract Syntax Tree(抽象语法树),最后使用LLVM作为后端代码的生成器。Clang的开发目标是提供一个可以替代GCC的前端编译器。由于GNU编译器套装(GCC)系统庞大,而且Apple大量使用的OC在GCC中优先级较低,同时GCC作为一个纯粹的编译系统,与IDE配合并不优秀。Clang由Apple公司开发,源代码授权使用BSD的开源授权。
LLVM(底层虚拟机)是编译器框架系统,用C++编写而成。在Xcode中已经集成了LLVM。在这里,我为大家推荐一篇相关的优秀的文章 http://www.360doc.com/content/12/0326/21/7936054_198066001.shtml 。和大家共享一下。
github主页:https://github.com/chenyufeng1991 。欢迎大家访问!
- iOS——LLVM、Clang浅析
- 深入剖析 iOS 编译 Clang / LLVM
- 深入剖析 iOS 编译 Clang / LLVM
- 深入剖析 iOS 编译 Clang / LLVM
- LLVM/Clang
- LLVM & Clang
- LLVM及Clang、llvm-gcc
- LLVM及Clang、llvm-gcc
- iOS之GCC,LLVM,Clang三种编译器
- clang and llvm
- LLVM 与 Clang 介绍
- LLVM 与 Clang 介绍
- LLVM 与 Clang 介绍
- LLVM 与 Clang介绍
- LLVM 与 Clang 介绍
- 测试llvm-clang编译器
- LLVM 与 Clang 介绍
- LLVM与Clang介绍
- ios学习之uisplitview的自定义代理的学习
- Struts2上传文件
- android WebView总结
- 编译原理中的正规表达式转NFA
- Duplicate application configs: <dubbo:application错误
- iOS——LLVM、Clang浅析
- lightoj Rooks 1005 (棋盘放车问题) (数学规律)
- AutoCompleteTextView and MultiAutoCompleteTextView
- WebGL之ThreeJS学习之旅01
- 欧拉回路
- 浅谈RMI
- 中位数 21% 通过 给定一个未排序的整数数组,找到其中位数。 中位数是排序后数组的中间值,如果数组的个数是偶数个,则返回排序后数组的第N/2个数
- 【多线程】ScheduledThreadPoolExecutor的scheduleAtFixedRate方法探究
- Linux集合