Emscripten是一个LLVM到JavaScript的编译器。它需要LLVM bitcode - 可以使用llvm-gcc或clang或者任何其他可以转换为LLVM的语言从C / C ++生成 - 并将其编译成JavaScript,可以在Web上运行(或者在其他任何地方运行JavaScript)能跑)。
Emscripten c++ emscripten_fetch(和 javascript 版本)
我',尝试执行 emscripten_fetch() 并总是得到 0 的返回值。不确定发生了什么,我切换到 JavaScript 版本,它可以工作,但有它自己的问题。 C++ - 任何人都可以看到...
尝试使用 Emscripten 构建 C++ SDL2 项目时出现未定义符号
我正在尝试使用 Emscripten 构建一个 C++ SDL2 项目: em++ src/* \ -我包括\ -s USE_SDL=2 \ -s USE_SDL_IMAGE=2 \ -s SDL2_IMAGE_FORMATS='["png"]'\ --预加载文件 res \ -o...
WebAssembly 运行速度比纯 JavaScript 函数慢很多
我刚刚接触 WebAssembly。我只是尝试编写一个函数来根据某些条件过滤对象数组并返回一个 id 数组。我运行这个函数并测量执行时间。
在javascript中导入WebAssembly模块的正确方法是什么
在web assembly.org,JS API页面中,在javascript中导入WebAssembly的方法是 fetch('example.wasm').then(response => response.arrayBuffer()) .then(字节 => 实例化(字节, importObject)) .
C++ WebAssembly 模块 libsodium 集成
我是 WebAssembly 世界的新手。 我刚刚开始尝试它。 我正在尝试编写自己的 C++ 模块,该模块使用一些第三方库。 例如,我正在尝试实现一个 C++
我最近遇到了 Pyodide 项目。 我已经使用 Pyodide 构建了一个小演示,但是尽管我花了很多时间查看源代码,但对我来说如何重定向还不清楚
如何为 Emscripten 项目生成 typescript 类型?
我不想手动为我的 Emscripten 项目编写 TypeScript 类型声明文件。有没有办法自动生成这样的类型声明文件?前任。对于变量、函数,
我正在 Debian 11 上使用 emcc 将 c++ 编译为 wasm。 就成功完成了。 所以我认为 emcc 知道路径。 但 VS Code 在 #include 下显示错误波形曲线 因为它确实...
使用 emscripten/cmake 编译 webgl 应用程序时出现“无输入文件”错误
我正在尝试使用 emscripten 将我的 webgl 应用程序编译为 wasm。这是我的 cmake 文件: cmake_minimum_required(版本3.10) 包括(CMakePrintHelpers) 项目(webgl_demo C CXX) 设置(CMAKE_CXX_STANDAR...
为什么 sin 在 WebAssembly 中比在 Java 脚本中慢?
我有一些非常简单的基准测试,通过 Catch2 运行,并使用 emscripten 3.1.37 使用 -O3 进行编译: BENCHMARK(“仅 cpp sin”) { 双倍总和 = 1.0; 对于 (int t =...
配置 WebAssembly/Emscripten 本地构建问题
我是 WebAssembly/Emscripten 世界的新手。 我找到了这个例子,我想在本地尝试一下(mac OS)。这些是我的文件: #包括 #包括 #包括...
将零计数传递给 glUniform4fv:规范与 Emscripten 实现
我的应用程序是使用 OpenGL API 用 C++ 编写的,我使用 Emscripten 为桌面操作系统以及 Web 构建它。不久前出现了一个奇怪的错误:桌面上一切正常(带有...
Emscripten 未安装 错误:未找到名为“sdk-1.12.0-64bit”的工具或 SDK。乌班图16.04 怎么了?
如何使用 Emscripten 将 Rust 库与 C 应用程序链接到一个 WASM 文件中?
我有一个项目,使用 Emscripten 将 C 库与 C 应用程序链接起来。我想用 Rust 编写的库替换 C 库。如何才能做到这一点? 我知道有两个
使用 Emscripten 编译时如何正确链接 Boost?
使用 Emscripten 编译时如何正确链接 Boost? 主要.cpp: #包括 int main() { boost::filesystem::exists("file.txt"); } 编译并链接: &...
使用emscripten编译为WebAssembly时可以找到“空闲”内存的起始地址吗?
所以,我有一个 C 应用程序,例如,它接受一个字符串: void EMSCRIPTEN_KEEPALIVEmodify_entity(char* target) { ... } 为了与之交互,我需要将目标放入
我正在尝试构建使用 JS 对象引用(类型为 emscripten::val 或 emscripten::EM_VAL)的简单 WebAssembly 应用程序。 代码: #包括 #包括 我正在尝试构建使用 JS 对象引用(类型为 emscripten::val 或 emscripten::EM_VAL)的简单 WebAssembly 应用程序。 代码: #include <emscripten.h> #include <emscripten/bind.h> #include <emscripten/val.h> extern "C" { EMSCRIPTEN_KEEPALIVE void Draw(emscripten::val canvas) { emscripten::val::global("console").call<void>("log", canvas); } } 我尝试使用emcc(根据指令安装)、Emscripten CMake工具链和Blazor WebAssembly(C#/.NET,指令)构建仅包含上述代码的项目。无论尝试将 C++ 代码编译为 wasm 的方式如何,我都会在输出中看到相同的多个错误: NativeClient_0.o: undefined symbol: _emval_get_global NativeClient_0.o: undefined symbol: _emval_decref NativeClient_0.o: undefined symbol: _emval_call_void_method NativeClient_0.o: undefined symbol: _emval_get_method_caller NativeClient_0.o: undefined symbol: _emval_incref github 上有一些相关问题(1,2)。除此之外,我无法找到任何相关信息,也无法编译我的代码。我做错了什么? 对 emcc 和 em++ 编译器使用 --bind,如果使用则删除 -s WASM=1。
如何在网络上使用 EMCC 和 WASM 来使用 C 函数?
我正在尝试制作一个简单的网站,显示从 javascript 文件调用 WASM 文件的函数调用结果。到目前为止我有以下文件: 生成文件 文件=add.c ...
为什么 WebAssembly 是安全的以及什么是线性内存模型?
(1) 我听说 WebAssembly 通过提供线性内存而安全。我想知道这个线性存储器包含什么? wasm栈和堆是否位于这个内存空间?如果是的话,我认为堆栈...
Emscripten 和 Clang 在 WebAssembly 编译方面有什么区别?
我知道 Clang(通过使用 target=wasm32)和 Emscripten 都可以将 C 代码编译成 WebAssembly,但是它们有什么不同? 看起来他们都使用 LLVM 作为后端。事实上,我什至不完全