Представлен публике публичный инициатива crustc — компилятор rustc, переведённый на язык C

2 мин
Представлен публике публичный инициатива crustc — компилятор rustc, переведённый на язык C

Состоялся выпуск открытого проекта под названием crustc. Это компилятор для языка rustc, созданный путём трансляции кода штатного компилятора rustc 1.98.0-nightly на язык C. На выходе получилось 46 млн строк кода на C, которые можно собрать при помощи GCC и утилиты make.

Собранный таким способом компилятор crustc успешно проходит тесты компиляции Rust-кода, такого как стандартные rust-библиотеки.

По информации OpenNET, проект crustc показывает возможности находящегося в разработке компилятора cilly (старый репозиторий проекта), позволяющего транслировать проекты с языка Rust на язык C. Целью подобной трансляции является предоставление возможности сборки кода, изначально написанного на Rust, в системных окружениях и на архитектурах, не поддерживаемых компилятором rustc. На выходе генерируется исходник на ANSI С (C89), что потенциально позволит собирать проекты на устаревших системах, которые не поддерживаются в LLVM и GCC, но для которых имеется компилятор ANSI С. Компилятор cilly пока не доступен для публичного ознакомления и будет опубликован после его доведения до готовности к широкому тестированию. Работа над проектом ведётся одним разработчиком (Fractal Fir - aka Michał Kostrubiec) на протяжении трёх лет.

Проект Cilly реализован в форме бэкенда для rustc, который транслирует внутреннее представление Rust в исходный исходник на языке C. Особенностью cilly является то, что каждая трансляция производится с учётом конкретной платформы и целевого C‑компилятора, которым планируется собирать программу. На стадии проверки cilly формирует профиль целевого C‑компилятора, применяя тестирование на основе сборки набора мини‑программ, оценивающих поддержку тех или иных возможностей (в частности, Threadlocal) и определяющих такие особенности платформы, как размеры типов, выравнивание данных в памяти и раскладка структур.

Читают сейчас

Google выпустила Gemini 3.8 Flash и закрытую версию для кибербезопасности

21 минуту назад

Google выпустила Gemini 3.8 Flash и закрытую версию для кибербезопасности

Google представила Gemini 3.8 Flash — новую основную модель Flash-линейки, вышедшую всего через три недели после Gemini 3.7 Flash. Модель получила заметный прирост в программировании, агентных задачах

Астрономы обнаружили маленькие красные точки, готовящиеся к слиянию

51 минуту назад

Астрономы обнаружили маленькие красные точки, готовящиеся к слиянию

Существует мнение, что в крупных галактиках современной Вселенной находятся сверхмассивные чёрные дыры (СМЧД). Тем не менее точно неизвестно, как именно эти чёрные дыры стали столь массивными, хотя ас

Вышел альфа-релиз Paint.NET 5.2 с экспериментальной поддержкой Wine/Linux

2 часа назад

Вышел альфа-релиз Paint.NET 5.2 с экспериментальной поддержкой Wine/Linux

1 сентября 2026 года состоялся выпуск альфа-версии графического редактора с открытым исходным кодом Paint.NET 5.2 для Windows 10/11 (64-бита) и с экспериментальной поддержкой Wine/Linux (Wine 11.14, U

2 часа назад

Операционная платформа «Альт Образование» бесплатна для школ — акция от «Базальт СПО»

Операционная платформа «Альт Образование» бесплатна для школ — акция от «Базальт СПО» Организация «Базальт СПО» запускает специальное предложение для школ: операционная система «Альт Образование» 11 п

Google добавила агентный аналитика видео в Gemini 3.7 Flash, 3.6 Flash и 3.5 Flash-Lite

2 часа назад

Google добавила агентный аналитика видео в Gemini 3.7 Flash, 3.6 Flash и 3.5 Flash-Lite

Google запустила агентный анализ видео для Gemini 3.7 Flash, 3.6 Flash и 3.5 Flash-Lite. Теперь модель анализирует видео не как последовательность кадров с фиксированной частотой, а сама решает, какие