Clang
| Ten artykuł od 2012-08 wymaga uzupełnienia źródeł podanych informacji. Informacje nieweryfikowalne mogą zostać zakwestionowane i usunięte. Aby uczynić artykuł weryfikowalnym, należy podać przypisy do materiałów opublikowanych w wiarygodnych źródłach. |
Clang - to front-end kompilatora dla języków C, C++ oraz Objective-C, stworzony w ramach projektu LLVM, który jest używany jako back-end (generator kodu natywnego i optymilizator). Celem projektu jest stworzenie alternatywy dla kompilatora z projektu GCC. Prace nad nim sponsorowane są przez Apple, a sam program wydany jest na licencji BSD.
Clang jest rozwijany z uwzględnieniem następujących pożądanych cech:
- krótki czas kompilacji, mała ilość zajmowanej pamięci przez kompilator w jej trakcie
- diagnostyka kodu, wskazująca dokładnie programiście miejsce popełnienia błędu
- kompatybilność z GCC
- modularność (m.in. możliwość użycia clang jako biblioteki przez inne narzędzie, analizatory kodu, edytory, itp.)
- porównywalna lub lepsza jakość kodu wynikowego (prędkość wykonania i rozmiar plików binarnych), używając LLVM
Obecnie projekt jest nadal w fazie rozwoju, ale jest kompatybilny z bardzo dużą ilością istniejących projektów napisanych w C, oraz od niedawna również C++, włączając w to bardzo duże i skomplikowane projekty, takie jak jądro systemu Linux, biblioteki Boost oraz Qt, kompilator i maszyna wirtualna Javy HotSpot czy sam kompilator GCC.
System operacyjny FreeBSD posiada wsparcie dla kompilowania większości programów z systemu portów, oraz samego systemu (jądro i programy przestrzeni jądra) przy pomocy clang. Jest to o tyle ważne że licencja samego kompilatora jest bardziej kompatybilna z systemem BSD, jak również czas kompilacji jest szybszy (bez drastycznego zmniejszenia prędkości wykonania), pozwalając na szybszy rozwój czy szybsze instalowanie oprogramowania przez ręczną kompilację z portów.