問題タブ [emcc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1259 参照

emscripten - WebAssembly LinkError: _sprintf 関数のインポートには呼び出し可能オブジェクトが必要です

sprintfへの呼び出しを含む Emscripten でコンパイルされた WASM から JS でWebAssembly.Instanceを作成すると、次のエラーが発生します。

キャッチされていない (約束) LinkError: WebAssembly.Instance(): インポート #1 module="env" function=" _sprintf " エラー: 関数のインポートには呼び出し可能なものが必要です...

sprintfはlibc の一部としてEmscripten に含まれていませんか?

コード:

コンパイル コマンド:

emccコンパイルはエラーなしで実行されます

sprintf行をコメントアウトすると、期待どおり 0 を返すエラーなしで実行されます。

このエラーの理由は何ですか?また、sprintf を使用する場合に回避するにはどうすればよいですか?

0 投票する
1 に答える
657 参照

c - emscripten を使用した共有メモリ ('sys/shm.h')

「sys/shm.h」を使用するいくつかの基本的な wasm の例をコンパイルしようとして、emscripten を調査してきました。

コンパイルしようとしているコードは次のとおりです。

ここに私のコンパイル出力があります:

emscripten には共有メモリのサポートがあると思いますが、wasm-ld正しくリンクできません。誰でも助けることができますか?

ありがとう、ギャル

0 投票する
1 に答える
271 参照

c++ - Webassembly - コード バッファをコンパイルし、C を介して EM_JS 経由で実行しようとしています。

私は WebAssembly を試していて、C で素数をブルート フォースするおもちゃのモジュールを作成しました。

}

これを Windows で emcc /O3 を使用してコンパイルすると、次のバイト ストリームが得られます。

おそらくほとんどの人には理解できないでしょうが、VSC の WASM to WAT ツールは、これが次の WASM を表していることを示唆しています。

別のプログラムから、次の EM_JS が呼び出されます。これは、WASM からの意図であり、javascript エンジンに WASM をコンパイルして実行するように指示します。

次のエラーが表示されます。

これでどこに行くべきか完全にはわかりません。ほとんどの場合、WebAssembly の制限を試しているだけです。

0 投票する
0 に答える
186 参照

makefile - clang/emcc を使用して OpenBLAS を Webassembly にコンパイルしようとした人はいますか?

emcc sdk がすでにロードされている Linux システムの OpenBLAS ルート ディレクトリ (emsdk ディレクトリ内source ./emsdk_env.sh)

emcc を使用して で OpenBLAS をコンパイルしようとしました make CC=emcc NOFORTRAN=1 HOSTCC=emcc BINARY=64 libsが、cpuid.S について不平を言いました。

アセンブリ ファイルだとわかったので、代わりに clang: も使用してみました make CC="clang --target=wasm32" NOFORTRAN=1 HOSTCC=clang BINARY=64 libs。次に、次のエラーが表示されました。

致命的なエラー:バックエンドのエラー: 64 ビット WebAssembly (wasm64) は現在サポートされていません。

これは、OpenBLAS を使用して、Webassembly x64 を使用するための静的リンク用の .a lib を作成できないということですか? 同様の使用法で運が良かった人はいますか?前もって感謝します!

私は、clang バージョン 10.0.0、emcc バージョン 1.39.13、および openBLAS 最新コード (0.3.9.dev.a) を使用しています。

0 投票する
2 に答える
861 参照

opengl-es - emscripten で「#version 300 es」を使用すると「unsupported shader version」と表示されるのはなぜですか?

#version 300 es最新の emscripten 1.39 で頂点シェーダーを使用すると、「サポートされていないシェーダー バージョン」というエラー メッセージが表示される理由がわかりません。それは正常に#version 100動作します。

私が使用するビルドについてemcc -s main.cpp -o index.html --shell-file shell.html -s USE_SDL=2 -s FULL_ES3=1

メッセージ:

私が間違っていることは何ですか?