|
Clang is a compiler front end for the C, C++, Objective-C and Objective-C++ programming languages. It uses LLVM as its back end and has been part of the LLVM release cycle since LLVM 2.6. It is designed to offer a complete replacement to the GNU Compiler Collection (GCC). It is open-source, and its contributors include Apple, Microsoft, Google, ARM, Sony and Intel. Its source code is available under the University of Illinois/NCSA License, a permissive free software licence. The Clang project includes the Clang front end and the Clang static analyzer and several code analysis tools.〔(【引用サイトリンク】title=Clang Static Analyzer )〕 == Background == Starting in 2005, Apple has made extensive use of LLVM in a number of commercial systems,〔 〕 including the iPhone development kit and Xcode 3.1. One of the first uses of LLVM was an OpenGL code compiler for OS X that converts OpenGL calls into more fundamental calls for graphics processing units (GPU) that do not support certain features. This allowed Apple to support the entire OpenGL application programming interface (API) on computers using Intel Graphics Media Accelerator (GMA) chipsets, increasing performance on those machines. For sufficiently capable GPUs, the code is compiled to take full advantage of the underlying hardware, but on GMA machines, LLVM compiles the same OpenGL code into subroutines to ensure it continues to work properly. LLVM was originally intended to use GCC's front end, but GCC turned out to cause some problems for both the LLVM developers and Apple. The GCC source code is a large and somewhat cumbersome system for developers to work with; as one long-time GCC developer put it, "Trying to make the hippo dance is not really a lot of fun".〔 〕 Apple software makes heavy use of Objective-C, but the Objective-C front-end in GCC is a low priority for the current GCC developers. Also, GCC does not fit smoothly into Apple's IDE.〔 〕 Finally, GCC is GPL version 3 licensed, which requires developers who distribute extensions for (or modified versions of) GCC to make their source code available, whereas LLVM has a BSD-like license〔Clang team, ''(clang: a C language family frontend for LLVM )''〕 which permits including the source in proprietary software. Apple chose to develop a new compiler front end from scratch, supporting C, Objective-C and C++.〔 This "clang" project was open-sourced in July 2007.〔 〕 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「clang」の詳細全文を読む スポンサード リンク
|