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

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

Доступен Emscripten 7.0, компилятор из C/C++ в WebAssembly

08.11.2026 10:02 (MSK)

Опубликован выпуск инструментария Emscripten 7.0, позволяющего компилировать код на C/C++ и других языках, для которых имеются фронтэнды на базе LLVM, в универсальный низкоуровневый промежуточный код WebAssembly. Полученный результат можно использовать для интеграции с JavaScript-проектами, запуска в web-браузере, использования в Node.js или создания обособленных многоплатформенных приложений, запускаемых при помощи wasm runtime. Код проекта распространяется под лицензией MIT. В компиляторе используются наработки проекта LLVM, а для генерации WebAssembly и оптимизации задействована библиотека Binaryen.

Основной целью Emscripten заявлено создание инструмента, позволяющего выполнять в Web код независимо от языка программирования, на котором этот код изначально написан. В компилируемых приложениях могут использоваться вызовы стандартных библиотек C и С++ (libc, libcxx), расширения C++, многопоточность на базе pthreads, API POSIX и многие мультимедийные библиотеки. Отдельно предоставляются API для интеграции с Web API и кодом на JavaScript. Emscripten поддерживает трансляцию вывода библиотеки SDL2 через Canvas, а также реализует поддержку OpenGL и EGL через API WebGL, что позволяет преобразовывать в WebAssembly графические приложения и игры (например, имеется порт тулкита Qt, поддерживаются игровые движки Unreal Engine и Unity, а также движок симуляции физических процессов Bullet).

Помимо компиляции кода на C/C++ отдельно развиваются проекты для запуска в браузерах интерпретаторов и виртуальных машин для языков Lua, C#, Python, Ruby и Perl. Кроме того, возможно применение фронтэндов к LLVM, отличных от Clang, например, фронтэндов для языков, как Swift, Rust, D и Fortran.

Присвоение номера версии 7.0 связано с внесением изменений, нарушающих совместимость. Основные изменения в Emscripten 7.0:

  • Обеспечено прямое связывание всех дополнительных модулей с runtime-библиотеками libclang_rt.builtins и libclang_rt.profile без необходимости экспортирования из основного модуля, как это делается в компиляторе clang.
  • Добавлена библиотека libemcc, в которую из libclang_rt.builtins вынесен код, специфичный для Emscripten.
  • Из runtime-библиотеки libclang_rt.builtins выделена библиотека libclang_rt.profile, которая теперь используется только при включении профилирования (например, при указании опций -fprofile-instr-generate или --coverage).
  • Размер буфера неименованных каналов увеличен до 64 КБ. Неблокирующая запись в заполненный канал теперь завершается ошибкой EAGAIN, но блокирующая запись пока остаётся неограниченной.
  • При компиляции и компоновке одной командой вспомогательные файлы, такие как ".dwo" при использовании опции "-gsplit-dwarf" или ".json" при использовании "-ftime-trace", теперь именуются как <output>-<input>.<ext> вместо <input>.<ext>, что соответствует поведению clang.
  • Включено автоматическое определение зависимостей для JavaScript-библиотек. Для прямых обращений из одной JavaScript-библиотеки в другую теперь не требуется указание макроса "__deps", который остаётся необходимым только для косвенных зависимостей и зависимостей от скомпилированных библиотек C/C++.
  • Удалена переменная окружения EMCC_ONLY_FORCED_STDLIBS, которая ранее была объявлена устаревшей. Для отключения связывания со стандартными библиотеками следует использовать флаг "-nostdlib".
  • До кодовой базы LLVM 23.1.3 обновлены библиотеки libcxx, libcxxabi, libunwind и compiler-rt. Задействован выпуск mimalloc 3.6.1.
  • Повышены требования к версиям браузеров Chrome 85 -> 93 (август 2021), Firefox 79 -> 92 (сентябрь 2021) и Safari 15.0 -> 15.4 (март 2022).


  1. Главная ссылка к новости (https://github.com/emscripten-...)
  2. OpenNews: Доступен Emscripten 6.0, компилятор из C/C++ в WebAssembly
  3. OpenNews: В рамках проекта Emscripten-Qt развивается порт Qt, работающий в web-браузере
  4. OpenNews: Компилятор Emscripten достиг возможности собственной пересборки
  5. OpenNews: Представлен порт ядра Linux для WebAssembly, запускаемый в браузере
  6. OpenNews: Опубликован стандарт WebAssembly 3.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/66640-emscripten
Ключевые слова: emscripten, webassembly
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (51) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 11:11, 08/11/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/–
    >Повышены требования к версиям браузеров Chrome 85 -> 93 (август 2021), Firefox 79 -> 92 (сентябрь 2021) и Safari 15.0 -> 15.4 (март 2022).

    https://browserbench.org/JetStream3.0/

     
     
  • 2.13, Аноним (13), 14:10, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    К чему такая поделка, которая завтра превратится в тыкву?
     
     
  • 3.24, Аноним (24), 18:04, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/–
    Между «пять лет» и «завтра» есть болшая разница. И кто эти люди, которые ходят в интернет браузером пятилетней давности?
     
     
  • 4.33, МИСАКА (?), 18:52, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Мобильные юзеры
     

  • 1.2, Аноним (2), 11:18, 08/11/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/–
    Какое-то безумие, что пятилетние версии браузера вообще рассматриваются как целевая платформа.
     
     
  • 2.3, Аноним (3), 12:05, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • +3 +/–
    какое то безумие думать, что кто то будет держать команду эникейщиков, которые будут каждые 2 недели разьезжать по куче терминалов и браузеры там обновлять
     
     
  • 3.4, Аноним (2), 12:08, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • –4 +/–
    Так есть интернет и нужны обновления и новые версии сабжа, в чём проблема? Организуйте бизнес нормально и не будут прохожие взламывать эти ваши терминалы.
     
     
  • 4.7, Аноним (7), 12:51, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • +7 +/–
    Нормальный бизнес это поддерживать старые версии бразура, а не говорит клиентам что им делать.
     
     
  • 5.9, Аноним (2), 13:12, 08/11/2026 Скрыто ботом-модератором     [к модератору]
  • +/–
     
  • 5.10, Аноним (10), 13:21, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    спавн 32-битного легаси туда занесите
     
  • 5.17, Аноним (17), 16:35, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/–
    А ты, конечно, знатный бизнесмен и демонстрируешь это своим примером?
     
     
  • 6.22, Смузихеб забывший пароль (?), 17:49, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/–
    а ведь когда-то на опеннете своим примером демонстрировали свой код
     
  • 5.45, ИмяХ (ok), 22:57, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Старая версия сабжа продолжает поддерживать старые версии браузеров.
     
  • 4.18, Аноним (3), 16:47, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/–
    Я уверен, вот когда ты станешь бизнессменом ты всё сделаешь правильно, как надо. Утрёшь нос конкурентам и всех победишь. Но вот пока неправильные бизнессмены всё делают не правильно. Прости, что они приносят тебе моральные страдания от такой неправильности и принуждают всех убеждать в коментах на опеннете, что не НАДО поддерживать неправильных бизнессменов.
     
  • 3.14, Hexen (ok), 14:25, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • –3 +/–
    А зачем на необновляемых терминалах, что-то обновлять? Если уж обновляете ПО на терминале, то обновляйте всё. Да и вообще, не хотите обновлять браузер не лезте в веб - пишите нативный gui.
     
     
  • 4.19, Аноним (3), 16:51, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Ты точно осознал что написано? Написано - неправильные бизнессмены как раз их и не обновляют. Работает и работает. А сабж тут вот даёт возможность бакэндерам на стороне сервера что нибудь замутить. Придёт бакендер к бизнессмену и скажет, Михалыч, смотри какая штука появилась, может замутим небольшой оптимизон с малыми трудозатратами?
     
  • 4.41, Аноним (10), 19:49, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    там есть веб-инструменты под свои веб-проги. они, особо, никуда в сеть не ходят. типа всяких терминалов, что кушают нал, аля старые добрые киви-кошельки
     

  • 1.6, Аноним (6), 12:48, 08/11/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/–
    Вот бы программистам времён DOS рассказать, как мы в 2026 ресурсы тратим.
     
     
  • 2.8, Аноним (7), 12:51, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/–
    Зачем?
     
  • 2.11, Аноним (10), 13:25, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/–
    плюсую. добавьте ещё как х86 урезанное тянем, буквально отрезая возможности процев
     
     
  • 3.12, Аноним (12), 14:02, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/–
    >как х86 урезанное тянем, буквально отрезая возможности процев

    Поясни.

     
  • 3.28, Аноним (10), 18:39, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/–
    поясняю текущая х64 архитектура, это не ia64б это лишь надстройка на х86 вдоба... большой текст свёрнут, показать
     
     
  • 4.42, Аноним (42), 20:47, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/–
    Оно и видно Это не технологическая проблема, а организационная Если точнее 8... большой текст свёрнут, показать
     
  • 4.43, Аноним (2), 21:08, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    avx то можно использовать в 32 битном коде, а вот то что регистров общего назначения раз в 16 меньше, это да

    гораздо большая проблема это костыли в коде (или ошибки с переполнениями без костылей), багов там прорва лезет всегда

     
     
  • 5.44, Аноним (2), 21:10, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    а хотя какие в 16, там уже во все 64
     
  • 5.52, Аноним (52), 00:12, 09/11/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Как было 16 регистров общего назначения, так и осталось в x86-64. Как было архаичное разделение на регистры для int и float, так и осталось. Не используешь float и avx? Регистры их трогать всё равно не смей, не положено. Проц за кулисами конечно может теневыми регистрами жонглировать, на лету высчитывая что куда, транзисторов то много. Но это уже костыли.
     
  • 4.49, жявамэн (ok), 23:57, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Бред.
    Это задача ВМ или компилятора оптимизировать под процессор. А не языка.
    На асме никто уже лет 20 не пишет
     
  • 2.23, Смузихеб забывший пароль (?), 17:55, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Вот бы они для начала рассказали, как получают аппаратное ускорение графики на ARM-процах, реализуют на них же норм распознавание образов и прочие штуки, транслируют по сети экран службе поддержки и норм работают с https. Начала
     
     
  • 3.54, Аноним (52), 00:42, 09/11/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Ты не поверишь,
    > аппаратное ускорение графики

    SGI IRIS 1000 - 1983 год, 3D GPU Geometry Engine
    > распознавание образов

    Свёрточная нейросеть - 1989. Современные нейронки по тому же принципу работают. Более реалтаймовый пример - птрк javelin, видеопоток с тепловизионной камеры обрабатывается DSP процессором на 3.5 МГц, разработка всё тех же 80х.
    > транслируют по сети экран службе поддержки

    X11 же тех же времён. Короче ничё нового с тех времён не появилось.

     
  • 2.25, Аноним (24), 18:06, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Ну сейчас пойдут истории о дедах, которые на ассемблере байты оптимизировали.
     
     
  • 3.29, Аноним (10), 18:42, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    не поверите как эти асм вставки с простыми мат/лог операциями в пределах регистров бафают проги на нашем любимом высоком коде
     
     
  • 4.50, жявамэн (ok), 00:00, 09/11/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Это сказки.
    Любой умный компилятор/жит с оптимизатором умеюшим инлайнить и паралелить вычисления унизит дешевый однопоточный асм
     
     
  • 5.53, Аноним (52), 00:15, 09/11/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    То-то кодеки и прочую тяжёлую математику до сих пор на асме пишут.
     
  • 2.26, OpenEcho (?), 18:11, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/–
    > Вот бы программистам времён DOS рассказать, как мы в 2026 ресурсы тратим.

    А с чего это такое мнение что програмисты времен ДОС дыба дали? Не дождетесь !

     

  • 1.16, Аноним (16), 15:44, 08/11/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/–
    А сам себя он может собрать в браузере?
     

  • 1.20, Y (??), 17:32, 08/11/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/–
    пока не может компилировать раст в websafeassembly
     
     
  • 2.27, Аноним (27), 18:13, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    А он и не обязан это делать.
     
  • 2.31, Аноним (31), 18:50, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Зачем, если Раст и так это может? Язык сразу был создан идеальным, это ж не Легаси столетнее тянуть.
     
  • 2.36, Аноним (42), 19:07, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/–
    > пока не может

    И даже не планирует. Для самых маленьких, на пальцах:

    Компилятор раста — rustc — компилирует программы на rust (в т.ч. в WebAssembly).
    Компилятор C/C++ — Emscripten — компилирует программы на C/C++ в WebAssembly.

    Поздравляем, прилужение выполнено успешно! Попытка приплести раст в совершенно к нему не относящийся топик и устроить очередной растоср… (ой, чуть не написал «растосрач») засчитана.

     
  • 2.47, Джон Титор (ok), 23:47, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Частично то он может. Васи нормального нет.
     

  • 1.32, Аноним (31), 18:52, 08/11/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/–
    На самом деле годнота, можно старые игры в браузер скомпилить, чтобы с телефона гамать, типа морровинда с мультиплеером, кски, нфса и прочее.
     
     
  • 2.34, Аноним (10), 19:04, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/–
    чёт они лагают все, мож мои дефолт настройки браузеров косячат. 2696 v4 / 128gb с поджатыми почти на четверть таймингами
     
     
  • 3.35, Аноним (35), 19:06, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    не туда играешь тебе надо nvidia 5090
     
     
  • 4.38, Аноним (10), 19:15, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    6700хт в слоте - подойдёт?
     
     
  • 5.39, Аноним (10), 19:27, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    всё с алика бу урвал, кроме мб хуананжи, года два уже ненарадуюсь
     
  • 5.55, Аноним (35), 00:49, 09/11/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Ваще нет.
     
  • 3.51, Аноним (51), 00:09, 09/11/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Нужно желательно chromium, отключить энергосберечение и сохранение энергии и убедиться, что webgpu фичи типа Vulkan включены. У меня лично лучше всего работает на android смартфоне...
     
     
  • 4.56, Аноним (35), 00:49, 09/11/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    В линуксе всегда что-то не работает.
     

  • 1.46, Джон Титор (ok), 23:45, 08/11/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/–
    Кому нужна эта графика? Лучше бы сетевым стеком занимались. Когда WASI 2 версии появится?
     
  • 1.48, Джон Титор (ok), 23:52, 08/11/2026 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/–
     

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



    XSQUARE
    Inferno Solutions
    Hosting by Hoster.ru
    Хоcтинг: