Комитет, управляющий разработкой набора компиляторов GCC (GCC Steering Committee), утвердил включение в кодовую базу GCC бэкенда для WebAssembly. Решение касается общего одобрения поставки WebAssembly-бэкенда в составе GCC. Вопросы утверждения реализации и принятия переданного кода будет отдельно решать команда, отвечающая за рецензирование.
Бэкенд позволит использовать GCC для компиляции исходного кода на языках C/C++ в промежуточный код WebAssembly. Компиляцию в WebAssembly можно использовать для интеграции с JavaScript-проектами, запуска в web-браузере, использования в Node.js или создания обособленных многоплатформенных приложений, запускаемых при помощи WASM runtime. Бэкенд выступает генератором кода, использующим промежуточный код, подготовленный штатными фронтэндами GCC, выполняющими разбор исходного кода на поддерживаемых языках программирования и предоставляющими специфичные для них оптимизации.
Предложенная для включения в GCC реализация использует в качестве внешних зависимостей инструментарий wabt, реализацию libc для WebAssembly (wasi-libc) и компоновщик wasm-ld. Не вся запланированная функциональность реализована, например, отсутствует поддержка отладочной информации, ссылочных типов, таблиц, исключений, структуризации и операций setjump/longjump.
исправить +12 +/–
- Главная ссылка к новости (https://gcc.gnu.org/pipermail/…)
- OpenNews: Релиз набора компиляторов GCC 16
- OpenNews: Одобрено включение в состав GCC фронтэнда для языка Алгол 68
- OpenNews: GCC-бэкенд достиг возможности полной раскрутки компилятора rustc
- OpenNews: Уязвимость в GCC, позволяющая обойти защиту от переполнения стека
- OpenNews: Фронтэнд для языка Rust доведён до готовности к интеграции в GCC 13
Лицензия: CC BY 3.0 Короткая ссылка: https://opennet.ru/65695-gcc Ключевые слова: gcc, webassembly При перепечатке указание ссылки на opennet.ru обязательно
