最近、TensorFlow.jsとかOnnxRuntimeなど、C/C++言語で書かれた機械学習のライブラリが何故かブラウザで動きます。
調べてみると、emscriptenを使ってC/C++のソースをコンパイルすると、WebAssemblyのバイナリーができて、C/C++等で書かれたプログラムがブラウザで動くようです。
ブラウザはJavaScriptしか動かないと思っていたら、いつの間にかブラウザで動くすごいアプリはみんなC/C++で書かれている・・・。おじさんの大好きなC/C++で書かれている。
PythonもOpenCVもffmpegもみんなWebAssemblyで動くようにコンパイルされたバイナリーがあります。
それをHTMLに組み込むと、ブラウザでPythonもOpenCVもffmpegも動くのね。
ゲームのエミュレータやLinuxなどのOSもWebAssemblyで動くようです。
すげー。
https://dev.classmethod.jp/articles/cpp-webassembly-emscripten/
とってもすごいんだけど、emscriptenのインストールとか開発環境がとっても不便。
でもこれでプログラムを作れば、スマホやPCなど、すべてのデバイスでプログラムが動く。
ぼくもとりあえずhello.cppを作ってみました。
0 件のコメント:
コメントを投稿