Clang Flashcards
Sta je Clang?
Clang je kompilator za jezike C, C++, Objective C … Tačnije, clang je frontend koji kao ulaz uzima kod napisan u prethodno navedem jezicima i prevodi ga umeđureprezenaticiju tj llvm IR i to predstavlja ulaz za središnji deo na kojem se vrše optimizacije nezavisne od jezika i arhitekture. Na kraju backend vrši optimizacije vezane za konkretnu arhitekturu i prevodi kod na mašinski jezik.
U odnosu na gcc, implementiran je u C++-u korišćenjem modernijih tehnologija. Bolje predstavlja informacije u slučaju greške ili upozorenja, a uglavnom daje više upozorenja u odnosu na gcc.
Sta su linteri?
Linteri su alati koji proveravaju kod i pronalaze stilske i programske greške.
Sta je ClangTidy
Alat ClangTidy je deo Clang/LLVM projekta koji nam automatski refaktoriše C++ kod. Ova grupa alata se naziva linteri (linter).
Sta radimo ukoliko zelimo da refaktorisemo ceo program?
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ..
run-clang-tidy -checks=’modernize-*’ -fix
Sta je ClangFormat?
Alat ClangFormat može da formatira kod za nas. On nam nudi više različitih stilova formatiranja.