在xcode中有三种编译器供我们选择,分别是GCC、LLVM GCC、LLVM compliler
三者区别
- GCC :是一套由 GNU 开发的编程语言编译器。Linux/Unix操作系统的标准编译器。编译前端和后端皆使用GCC
- LLVM GCC:编译前端使用GCC,后端使用LLVM
- LLVM compliler :编译前端使用Clang,后端使用LLVM
为什么存在三种编译器
苹果公司最开始使用GCC编译器
为了实现对 Objective-C 新特性的支持,苹果公司结合LLVM改进GCC,从而衍生出了一个GCC分支,也就是LLVM GCC
由于LLVM GCC的笨重和局限性,苹果公司从零开始开发了一套自己的编译前端系统Clang,配合LLVM,就有了LLVM GCC
Clang的优势
相比GCC而言:
- 编译速度快,占用内存小
- 模块化设计,易于扩展,易于IDE集成
- 错误提示人性化
- 产出小
值得一提的是,Android NDK
从r18
开始就已经抛弃GCC,转而采用Clang编译,Clang未来可期
乱码三千-欢迎您的关注