Repolode
emscripten-core

emscripten-core/emscripten

Uma toolchain de compilação que transforma código C e C++ em WebAssembly para execução em navegadores, Node.js e outros runtimes Wasm.

Estrelas
27,734
Forks
3,572
Issues abertas
2,527
Último commit
há 3 horas

O que é?

O Emscripten compila C e C++ para WebAssembly usando LLVM e Binaryen. O resultado pode ser executado na web, no Node.js e em runtimes Wasm standalone. O comando emcc funciona de forma parecida com gcc ou clang e gera um módulo WebAssembly com um loader em JavaScript ou uma página HTML de exemplo.

Ele oferece implementações para a web de APIs portáveis, como OpenGL e SDL2, permitindo portar para o navegador aplicativos gráficos nativos existentes. Projetos grandes como o motor de jogos Unity e o Google Earth são citados como exemplos desse tipo de portabilidade.

Embora o foco seja C e C++ via Clang, o projeto também pode ser integrado a outros compiladores baseados em LLVM, como o target wasm32-unknown-emscripten do Rust.

Recursos principais

  • 01Compila C e C++ para WebAssembly usando LLVM e Binaryen.
  • 02Executa o resultado em navegadores, Node.js, Deno, Bun e runtimes Wasm standalone.
  • 03Oferece implementações para a web das APIs OpenGL e SDL2.
  • 04Pode ser usado como substituto direto de gcc ou clang com o comando emcc.
  • 05Pode gerar uma página HTML com um loader ou um arquivo JavaScript sem HTML.

Casos de uso

  • Portar um aplicativo ou jogo existente para desktop, escrito em C ou C++, para execução em um navegador.
  • Executar bibliotecas nativas de C ou C++ dentro de um projeto Node.js.
  • Criar módulos WebAssembly a partir de código C para uso em outros runtimes Wasm.

Início rápido

  1. 1

    Instale o Emscripten SDK (emsdk) pela página de downloads

  2. 2

    Compile hello.c em um arquivo JavaScript

    emcc hello.c -o hello.js
  3. 3

    Execute o JavaScript gerado com o Node.js

    node hello.js

Antes de usar

  • A configuração consiste em instalar a cadeia de ferramentas emsdk pela página de downloads, e não em instalar um único pacote.

Tópicos

Perguntas frequentes

O que é emscripten?
Uma toolchain de compilação que transforma código C e C++ em WebAssembly para execução em navegadores, Node.js e outros runtimes Wasm. O Emscripten compila C e C++ para WebAssembly usando LLVM e Binaryen. O resultado pode ser executado na web, no Node.js e em runtimes Wasm standalone. O comando emcc funciona de forma parecida com gcc ou clang e gera um módulo WebAssembly com um loader em JavaScript ou uma página HTML de exemplo.
emscripten é gratuito? Qual é a licença?
emscripten é open source sob a licença Other. Confira os termos da licença antes de usá-lo em produtos comerciais.
emscripten ainda é mantido?
Manutenção ativa. O último commit de emscripten foi em 21 de out. de 2026.
Para que posso usar emscripten?
Portar um aplicativo ou jogo existente para desktop, escrito em C ou C++, para execução em um navegador. Executar bibliotecas nativas de C ou C++ dentro de um projeto Node.js. Criar módulos WebAssembly a partir de código C para uso em outros runtimes Wasm.
Como instalar emscripten?
Instale o Emscripten SDK (emsdk) pela página de downloads Compile hello.c em um arquivo JavaScript: emcc hello.c -o hello.js Execute o JavaScript gerado com o Node.js: node hello.js
Onde consigo emscripten?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/emscripten-core/emscripten

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados