Clang
Ten artykuł od 2012-08 wymaga zweryfikowania podanych informacji. |
Clang – front-end kompilatora dla języków C, C++ oraz Objective-C, który używa LLVM jako back-end (generator kodu natywnego i optymalizator). 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 programiście dokładne 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 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) za pomocą 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.