Clang и LLVM. Что это?

Здравствуйте! Немного погуглив, я пришел к выводу, что Clang - это кодогенератор, которому на вход подается cpp-файл, а на выходе имеем какой-то промежуточный код. А вот LLVM уже может этот код исполнить или скомпилировать.
Но меня терзают смутные сомнения! Помогите, пожалуйста, разобраться!
  • Вопрос задан
  • 2487 просмотров
Решения вопроса 1
@MiiNiPaa
Да, вы правы. Clang — фронтэнд генерирующий промежуточное представление. LLVM берёт промежуточное представление (уже вне зависимости от языка на котором писался код оригинально), оптимизирует и генерирует бинарный файл.

GCC использует схожую систему (до clang LLVM вообще принимала IF от GCC). Это позволяет иметь один бэкэнд для множества языков. Разрабатывать заного фактически приходится только парсер.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы