如何将 WebAssembly 编译成常规汇编/本机代码(或 Cpp 等)?
How to compile WebAssembly into regular assembly / native code (or Cpp, etc)?
有很多关于从 C++ 或 Rust F.e 等语言编译 到 WebAssembly 的信息。关于 LLVM 到 Wasm 的搜索结果很多,但是 WASM 到 LLVM 呢?
但是有没有办法将 从 WebAssembly 编译为常规汇编(或其他 "native" 语言,如 C++ 或 ASM)?
请注意,这不是 How to convert javascript to LLVM IR? 的副本。这个问题不是关于将 JavaScript 转换为本机代码,而是关于将 WebAssembly 转换为本机代码(f.e。本机机器代码)。 JavaScript 和 WebAssembly 是不同的东西。
实验设施很少。 WebAssembly 的 Liftoff(google V8 嵌入式)编译器必须在内部执行此任务;我不知道有任何暴露的 V8 API 应用程序将它用于此任务。
Lucetc 说,它可以将 WebAssembly 模块(.wasm 或 .wat 文件)编译成本地代码(.o 或 .so 文件)。
https://github.com/fastly/lucet
wasm2c: 表示,它可以将 wasm 文件转换为 C 源代码和头文件
https://github.com/WebAssembly/wabt/tree/master/wasm2c
有很多关于从 C++ 或 Rust F.e 等语言编译 到 WebAssembly 的信息。关于 LLVM 到 Wasm 的搜索结果很多,但是 WASM 到 LLVM 呢?
但是有没有办法将 从 WebAssembly 编译为常规汇编(或其他 "native" 语言,如 C++ 或 ASM)?
请注意,这不是 How to convert javascript to LLVM IR? 的副本。这个问题不是关于将 JavaScript 转换为本机代码,而是关于将 WebAssembly 转换为本机代码(f.e。本机机器代码)。 JavaScript 和 WebAssembly 是不同的东西。
实验设施很少。 WebAssembly 的 Liftoff(google V8 嵌入式)编译器必须在内部执行此任务;我不知道有任何暴露的 V8 API 应用程序将它用于此任务。
Lucetc 说,它可以将 WebAssembly 模块(.wasm 或 .wat 文件)编译成本地代码(.o 或 .so 文件)。 https://github.com/fastly/lucet
wasm2c: 表示,它可以将 wasm 文件转换为 C 源代码和头文件 https://github.com/WebAssembly/wabt/tree/master/wasm2c