Clang і llvm - у gcc є конкурент

Відео: GCC or LLVM?

Clang і LLVM - у GCC є конкурент
Зв`язку Clang і LLVM часто згадують як заміну GCC - не зараз, але в перспективі. Що ж таке Clang і LLVM, на якій стадії розвитку перебувають і які переваги та недоліки в порівнянні з GCC? Спробуємо розібратися.

Слід так само відзначити, що локалізація (https://t-link.ru/services/localization/) документації по Clang і LLVM навряд чи з`явиться в доступному для огляду майбутньому, так що приступати до роботи з ними без знання англійської - марна трата часу.




матчастину

Для початку - невелике попереджання. Як відбувається збірка програми (з вихідного коду в бінарний вигляд) за допомогою GCC? Спрощено кажучи, справа йде так:
- Фронтенд для конкретної мови програмування переводить исходник в проміжну форму.
- Бекенда переводить проміжну форму в асемблер цільової платформи, який потім компілюється в об`єктний код, а той компонується «лінкером», підставляють замість ідентифікаторів (наприклад, імен функцій) конкретні адреси. Попутно компоновщик збирає безліч об`єктних файлів в один. Так виходить бінарник.

Clang і LLVM - у GCC є конкурент

В GCC мову опису проміжної форми називається GIMPLE (докладніше читайте на https://gcc.gnu.org/onlinedocs/ gcc-4.0.0 / gccint / GIMPLE.html). GIMPLE схожий на такий собі Сі, але з ухилом в асемблер: з`являється безліч goto, лаконічні «сішние» конструкції докладно розписуються в довші, спрощені - виглядають вони як пояснення чого-небудь буквально на пальцях. Аналогічно в зв`язці Clang і LLVM: Clang є фронтендів, а LLVM (Low Level Virtual Machine) -бекендом. LLVM, крім іншого, може приймати проміжну форму і від фронтендів GCC. Говорячи далі про Clang, я буду мати на увазі пару Clang / LVVM. Альтернативний компілятор - це, здається, дуже здорово. Але тільки з одного боку. З іншого - ось та ж бібліотека SDL під Windows більше дружить з Visual C ++, ніж з MinGW. А був би один MinGW, дехто не ламав би собі голову ...

ІНШЕ

Sdl + mingw = дружба! фото

Sdl + mingw = дружба!

Відео: SDL 2 Tutorial 1c [SETUP] Windows and MinGW Setup Мабуть, SDL - найпопулярніша бібліотека для створення…

Мова програмування seed7 фото

Мова програмування seed7

Відео: Яку мову програмування вибрати новачкові? Дивись рада від каналу Бути Програмістом Мови програмування ... Одні…

Мова програмування go фото

Мова програмування go

Відео: Топ-4 Кращих Мови програмування для Початківців | ТОП Мова програмування Go (https://qoianq.org/) з`явився в 2007…

Qt 5: збірка фото

Qt 5: збірка

Відео: Qt windows. Qt запуск програми під windows. Qt cтатіческая збіркаРозповім про досвід складання Qt 5. Для цього я…

Труднощі з phonon фото

Труднощі з phonon

Відео: TAG: новонароджені - ТРУДНОЩІ ПЕРШОГО МІСЯЦЯ! MNOGOMAMA Я не хочу повторювати документацію і приводити якісь…

» » Clang і llvm - у gcc є конкурент