Профиль: Аноним (вход | регистрация) неRU opennet.me  
The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Представлен crustc - компилятор rustc, переведённый на язык Си

03.07.2026 10:16 (MSK)

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

Проект демонстрирует возможности находящегося в разработке компилятора cilly, позволяющего транслировать проекты с языке Rust на язык Си. Целью подобной трансляции является предоставление возможности сборки кода, изначально написанного на Rust, в системных окружениях и на архитектурах, не поддерживаемых компилятором rustc. На выходе генерируется код на ANSI С (C89), что потенциально позволит собирать проекты на устаревших системах, которые не поддерживаются в LLVM и GCC, но для которых имеется компилятор ANSI С. Компилятор cilly пока не доступен публично и будет опубликован после его доведения до готовности к широкому тестированию. Работа над проектом ведётся одним энтузиастом на протяжении трёх лет.

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

  1. Главная ссылка к новости (https://news.ycombinator.com/i...)
  2. OpenNews: NVIDIA опубликовала CUDA-oxide, компилятор из Rust в CUDA
  3. OpenNews: GCC-бэкенд достиг возможности полной раскрутки компилятора rustc
  4. OpenNews: Открытие кода Rust-компилятора Ferrocene
  5. OpenNews: DARPA развивает AI-транслятор для переписывания Си-кода на Rust
  6. OpenNews: Прогресс в разработке транслятора из Rust в код на Cи и .NET IR
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/65834-crustc
Ключевые слова: crustc, rustc, cilly, compile
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (21) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 10:36, 03/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Вот это поворот!))
     
     
  • 2.21, Халявщик не корпораст (?), 11:30, 03/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    - Вот это поворот!))

    Фигня. Но вот когда абизяна начнёт англицкий на си переводить, вот тогда решат проблемы с бананами по всей земле. Главное - системник с клавой и монитором поставить в огороде...

     

  • 1.2, Аноним (2), 10:36, 03/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Это что же получается, самый безопастный язык теперь небезопастный?
     
     
  • 2.19, онанист (?), 11:24, 03/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    зависит от микрокода процессора ;-)
     

  • 1.3, Аноним (3), 10:38, 03/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Ну все, скажите парням из OpenBSD что проблему доверия к компилятору rust теперь можно решитт; дело за малым, осталось только провести ревью 46 миллионов строк Си кода;)
     
     
  • 2.4, Аноним (4), 10:43, 03/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Это изначально не было проблемой, поскольку изначально rust был написан на ocaml.
     
     
  • 3.5, Аноним (3), 10:48, 03/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Да какая разница на чем он был изначально написан! Проблема доверия от этого никуда не исчезает.
     
     
  • 4.8, Аноним (4), 11:00, 03/07/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Какая проблема доверия? Берите исходный код и читайте, или у вас лапки?
     
     
  • 5.12, Аноним (3), 11:10, 03/07/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Удачи вам в ревью 46 миллионов кода на Си;)
     
  • 5.14, Аноним (14), 11:11, 03/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Доверие к разрабам, которые сопровождают раст или ты предлагаешь мониторить их каждый комит?
     
  • 5.15, Аноним (3), 11:12, 03/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Похоже вы не совсем понимаете в чем суть Trusting Trust
     

  • 1.6, Аноним (6), 10:54, 03/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Еще бы Firefox вот так в Си оттрансливароть, чтоб вообще без раста собирался и без всяких llvm.
     
  • 1.7, Аноним (14), 11:00, 03/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Т.е. теперь можно будет собрать раст не собирая раст?
     
  • 1.9, Аноним (9), 11:01, 03/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Интенсно нафига?
    Типа брать расткод (но его же пишут смузuхлебы, не то что Настоящие Сишники) превращать в СИ.
    Потому код меняется и... процесс повторять?
     

  • 1.10, Андрей (??), 11:06, 03/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    "46 млн строк кода на Си"...
    И нафига?
     
     
  • 2.18, Аноним (3), 11:23, 03/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Важен сам факт разрыва цепочки через Си-код и условный GCC, что позволит решить проблему Trusting Trust "математеческим бутсраппигом". Однако для "человеческого бутстраппинга", невозможность ревью означает, что проблема доверия остается нерешенной! Это одна из причин по которой, например OpenBSD не будут этим пользоваться. А вот для других проектов, этого будет вполне достаточно!
     

  • 1.13, Анон1110м (?), 11:10, 03/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Это не безопастно. Это святотатство.
     
     
  • 2.17, Аноним (9), 11:12, 03/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Не, оно может и безопасно (если не трогать)
    Но каждое изменение придется фарш проворачивать обратно.
    Что не выглядит как работа мечты)
     

  • 1.16, sdk3 (-), 11:12, 03/07/2026 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     
  • 1.20, aname (ok), 11:28, 03/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > позволяющего транслировать проекты с языке Rust на язык Си

    Это должно было появиться, рано или поздно

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру