phoemur
(usa Debian)
Enviado em 21/08/2018 - 14:20h
Você deve ter o Emscripten e o Node.js instalados.
Siga o tutorial do site:
https://kripken.github.io/emscripten-site/docs/getting_started/index.html
Resumidamente é assim.
Você tem um arquivo teste.cpp:
#include <iostream>
using namespace std;
int main()
{
cout << "Hello, World!" << endl;
return 0;
}
Você compila com o emscripten:
$ em++ -o teste.html teste.cpp -s WASM=0 -O3
você terá como saída os arquivos teste.js e teste.html
você executa no terminal e vai ver o Hello world
[phoemur@notebook_lenovo.darkstar ~/]$node teste.js
Hello, World!
Você abre o teste.html no browser e vai ver o hello world no browser.
Se ao invés de Javascript você preferir WebAssembly (WASM),
é só compilar com
$ em++ -o teste.html teste.cpp -s WASM=1 -O3
que além dos arquivos já citados você vai ter também o teste.wasm que é seu binário em webassembly
Daí o seu arquivo teste.js vai servir somente pra chamar as rotinas do seu arquivo WASM, o que é muito mais eficiente...
Você vai notar que o arquivo JS é bem maior em tamanho também, quando utilizado sem WASM.
Teoricamente você pode compilar quase qualquer coisa em Webassembly.
SDL, QT5, Bullet, etc...
Tem vários jogos com OpenGL, como Quake3, Doom que apesar de feitos em C/C++ rodam no browser em webassembly tranquilamente
______________________
https://github.com/phoemur