鸽子王带你玩wasm

简介: 鸽子王带你玩wasm

猿人学第十五题也出来啦

题目链接:http://match.yuanrenxue.com/match/15

十五题是一个WebAssembly类型简称wasm 看看介绍

下面 就由鸽子王小林弟弟来带你们玩




常规操作 先下一个XHR断点

然后堆栈找m的来源

能看到这里有加载了一个main.wasm 这就是我们今天的主角了

逻辑很清晰 但是 window.q是啥呢 要咋调用呢?咋玩呢?



无需担心 跟着我来

俩种玩法

node

由于node是支持WebAssembly的 所以直接导入wasm改写原来的代码就可以直接调用了

我直接手动把main.wasm文件转为Uint8Array

然后把手动改写代码

自己手敲一下理解一下


python

先装一个python-wasmer库

GitHub地址:https://github.com/wasmerio/wasmer-python

$ pip install wasmer==1.0.0a3
$ pip install wasmer_compiler_cranelift==1.0.0a3

GitHub里面就有使用方法

根据GitHub给出的方法再结合上网页上的使用方法

改写成python就是

顺便记一个小坑

Tips

如果安装好wasmer后运行不了

ImportError: Wasmer is not available on this system

经过咨询和观察 发现是python版本的问题 虽然作者说支持3.9 但是亲测不行

所以我手动将版本回滚到3.79 再次pip install wasmer后运行正常了

就这问题卡了我2个小时....害




最后Python运行

完美撒花 感谢各位大佬观看







[完]

相关文章
|
Rust JavaScript 前端开发
【Rust 实战】Rust 与 Wasm
【Rust 实战】Rust 与 Wasm
2336 0
【Rust 实战】Rust 与 Wasm
|
Web App开发 存储 JavaScript
使用AssemblyScript 构建 WebAssembly 应用
WebAssembly,也称为 Wasm,是为 Web 创建的二进制格式。它允许通过从常规 JavaScript 访问的相同 Web API 访问浏览器功能。
760 0
使用AssemblyScript 构建 WebAssembly 应用
|
Rust 前端开发 JavaScript
Rust 编译为 WebAssembly 在前端项目中使用(二)
Rust 编译为 WebAssembly 在前端项目中使用(二)
254 0
|
开发框架 Rust JavaScript
WebAssembly
关于使用和推荐方面,由于缺乏关于 Grain 语言的详细信息,我无法为您提供确切的建议。如果您需要关于 JavaScript 和 WebAssembly 的建议,我可以为您提供一些建议:
146 3
|
Rust 前端开发 JavaScript
Rust 编译为 WebAssembly 在前端项目中使用(一)
Rust 编译为 WebAssembly 在前端项目中使用(一)
156 0
|
Rust 安全 C#
c#如何使用WASM跨语言调用?
c#如何使用WASM跨语言调用?
131 0
c#如何使用WASM跨语言调用?
|
C# 网络架构
Blazor_WASM之4:路由
Blazor_WASM之4:路由
|
移动开发 前端开发 JavaScript
Blazor_WASM之3:项目结构
Blazor WebAssembly项目模板可选两种,Blazor WebAssemblyAPP及Blazor WebAssemblyAPP-Empty
|
Rust JavaScript 前端开发
【Rust 实战】Rust 与 Wasm (2) —— 操作 Dom
【Rust 实战】Rust 与 Wasm (2) —— 操作 Dom
【Rust 实战】Rust 与 Wasm (2) —— 操作 Dom
下一篇
DataWorks