Clang

Wikipedia:Weryfikowalność
Ten artykuł od 2012-08 wymaga zweryfikowania podanych informacji.
Należy podać wiarygodne źródła w formie przypisów bibliograficznych.
Część lub nawet wszystkie informacje w artykule mogą być nieprawdziwe. Jako pozbawione źródeł mogą zostać zakwestionowane i usunięte.
Sprawdź w źródłach: Encyklopedia PWN • Google Books • Google Scholar • Federacja Bibliotek Cyfrowych • BazHum • BazTech • RCIN • Internet Archive (texts / inlibrary)
Po wyeliminowaniu niedoskonałości należy usunąć szablon {{Dopracować}} z tego artykułu.

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.

Linki zewnętrzne

  • Strona domowa projektu