我不知道它是否是提出这个问题的合适地方.但是为什么Apple选择使用llvm它的clang实现来编写OpenCL/OpenGL?它给他们带来了什么好处以及如何?请原谅我对这个话题的无知,我对此并不了解.
小智 5
Apple创建了Clang作为C/C++/ObjC和ObjC++的GCC替代品.LLVM的创建者在Apple的编译器部门工作.在与伊利诺伊大学合作举办项目的过程中,Apple为GCC,GDB [见LLDB],libstdc ++ [参见libc ++]和几个新项目创建了完整的替代品.
GPLv3是最后一根稻草,结束了苹果公司为GCC做出贡献的兴趣,这也是苹果公司在GCC 4.2.x上结束它的原因.
LLVM/Clang正在迅速取代整个行业的GCC.
LLVM现在是一个名称的误称.
LLVM/Clang中支持的当前目标硬件:
- 针对ARM - 针对CppBackend - 针对六角形 - 定位Mips - 针对MBlaze - 针对MSP430 - 针对NVPTX - 针对PowerPC - 针对Sparc - 针对X86 - 针对XCore - Clang版本:3.3
很快就添加了开箱即用的AMD R600代码库.
Clang符合C99标准.OpenCL使用C99的子集.Clang是最完整的C11兼容编译器套件,免费提供.
FreeBSD已经转移到LLVM/Clang作为即将发布的10.0发行版的默认设置.
AMD和Nvidia用LLVM/Clang构建他们的OpenCL堆栈.
英特尔正在将他们的OpenCL和更多内容转移到LLVM/Clang.
谷歌与LLVM/Clang合作.适用于Adobe,Sony,IBM,Cray等.
GCC是一个混乱的架构.LLVM/Clang的模块化使其提高了开发速度,并为开发人员提供了更大的上限.
LLVM/Clang 3.2的开发人员和用户指南现在非常可靠,3.3 trunk增加了更多的文档来理解LLVM/Clang的优点.
高质量编译器代码的开发速度首屈一指.