Clang Flashcards

1
Q

Sta je Clang?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Sta su linteri?

A

Linteri su alati koji proveravaju kod i pronalaze stilske i programske greške.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Sta je ClangTidy

A

Alat ClangTidy je deo Clang/LLVM projekta koji nam automatski refaktoriše C++ kod. Ova grupa alata se naziva linteri (linter).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Sta radimo ukoliko zelimo da refaktorisemo ceo program?

A

cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ..
run-clang-tidy -checks=’modernize-*’ -fix

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Sta je ClangFormat?

A

Alat ClangFormat može da formatira kod za nas. On nam nudi više različitih stilova formatiranja.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly