cost 385 ms
如何减小 WASM 二进制文件的大小? - How to reduce size of WASM binary?

我有一个写在 C++ 的项目,要部署的平台有 256KB 二进制大小的限制。 工具链是wasi-sdk-16.0 clang++,我们使用这个编译器将源代码编译成WASM格式的二进制文件。 在此步骤中,我们使用以下 CXX_FLAGS 编译源代码。 然后我们strip 经过以上步骤,这一步编译后的 ...

是否可以将新的 function 添加到实例化的 Webassembly 模块? - Is it possible to add a new function to an instantiated Webassembly module?

我正在编写一个 wasm 程序,它将动态生成作为字节码的 wasm 函数(包括类型签名、本地向量和主体指令序列; 根据规范定义 function 的所有内容)。 我想要一种从已经实例化的正在运行的模块中执行这些函数的有效方法(即能够获得它们的funcref )。 似乎大多数实现都是通过简单地从生成 ...

如何在使用 emcc 从 c++ 编译的 wee8 wasm 代码中运行? (wee8 的 WASI?) - How to run in wee8 wasm code that was compiled from c++ with emcc? (WASI in wee8?)

我正在尝试将 C++ 代码编译为 wasm,然后使用 wee8(v8 的 wasm-api)将其嵌入到其他 C++ 代码中。 目前我在实例化模块时遇到段错误: auto instance = wasm::Instance::make(store, module.get(), imports) ...

如何在WASM WAT中导入WASI并写一个简单的控制台日志 function - How to import WASI and write a simple console log function in WASM WAT

我想了解 WebAssembly 文本格式以用于教育目的和编写直接编译为 WASM 的 POC 编译器。 我想了解如何正确导入必要的 WASI 函数来创建控制台日志 function。 我很想看到一个用可读性 WAT 编写的示例,该示例导入了 WASI 并实现了一个可以在浏览器外运行的简单控制台日 ...

WASI vs Emscripten FS,沙盒文件系统 - WASI vs Emscripten FS, sand-boxed file system

据我所知,WASI 为沙盒 WebAssembly 应用程序提供了访问底层操作系统的权限,Emscripten FS 还提供了几个文件系统,例如 NODEFS。 我的问题是 WASI 和 EMscriptenFS 都代表提供沙盒文件系统的相同目标,或者这两者有不同的用法? 有人可以帮助我理解两者吗? ...

为什么 WebAssembly 是安全的,什么是线性内存模型 - Why is WebAssembly safe and what is linear memory model

(1) 我通过提供线性内存听说了 WebAssembly 的安全性。 我想知道这个线性内存包含什么? wasm 堆栈和堆是否位于此内存空间中? 如果是,我认为 wasm 堆栈和胶水代码堆栈(例如 js python 等)是分开的,对吗? (2) 我可以通过使用导入表来理解 wasm 的内存安 ...

Emscripten 和 Clang 在 WebAssembly 编译方面有什么区别 - What is the difference between Emscripten and Clang in terms of WebAssembly compilation

我知道 clang(通过使用 target=wasm32)和 emscripten 都可以将 C 代码编译成 webassembly,但它们有什么不同? 看起来他们都使用 LLVM 作为后端。 其实,我什至不太明白 llvm 和 clang 之间的关系...... 我已经阅读了一段时间的 Web ...

WebAssembly 中的堆栈空间(和 WASI) - Stack space in WebAssembly (& WASI)

我正在以 WebAssembly 文本格式 ( .wat ) 编写小程序。 我看过从 C 编译的 Wasm 代码,看起来常见的做法是维护一个全局堆栈指针,当我们进入一个函数时,通过将堆栈指针减去 4 的倍数(例如 16 ): 我需要实现一个非常基本的malloc来进行动态内存管理。 在这个实现中 ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM