Clang

Clangfront-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.

Linki zewnętrzne