![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
WebAssembly
Jacob_job
音视频软件开发
展开
-
WebAssembly简介
什么是WebAssembly虽然WebAssembly从名字翻译来说是web版的汇编语言,但是其实是一个二进制文件。 与asm.js相比之下,asm.js更像是web版的汇编语言,WebAssembly是web版的二进制语言,效率更高。 二者的编译工具链都是从emscripten编译而来,但是编译方法有所区别。具体在环境搭建中介绍。哪些浏览器支持WebAssemblyWebAsse...原创 2018-03-03 23:26:38 · 1437 阅读 · 0 评论 -
WebAssembly emscripten工具链的搭建
emscripten有多个版本,这里安装的是WebAssembly需要的版本。需要提前安装gcc、cmake、Python、node.js等,这些请自行安装。开始安装emscripten:1、下载wget https://s3.amazonaws.com/mozilla-games/emscripten/releases/emsdk-portable.tar.gztar xv...原创 2018-03-03 23:42:12 · 2911 阅读 · 0 评论 -
WebAssembly wabt工具安装和使用
emscripten编译生成的WebAssembly文件是*.wasm的二进制文件,不方便阅读。使用wabt工具,可以实现wasm与wast的互转,有助于理解wasm内部接口。wasm是二进制文件,可读性很差。wast是文本文件,可以看到wasm的内部接口。下载https://github.com/WebAssembly/wabt安装略。根据readme安装。...原创 2018-03-03 23:49:20 · 6008 阅读 · 3 评论 -
使用emscripten编译WebAssembly
需要编译的c语言demo程序add.c#include <stdio.h>int add(int a,int b){ return a+b;}int main(void){ printf("%d\n",add(1,2));}1、可以编译成带有html输出文件,可以直接打开html文件查看效果emcc add.c -s WASM=1 -o add...原创 2018-03-04 00:09:43 · 3737 阅读 · 0 评论 -
JS如何调用WebAssembly的api
这里以我之前做的一个项目为例。项目是把ffmpeg编译成WebAssembly文件,然后在js中调用,实现纯前端代码软解码音视频数据。在linux下编译的一、编译ffmpeg生成静态库build_decoder.shecho "Beginning Build:"rm -r distmkdir -p distcd ffmpeg-3.3.3make cleanemconf...原创 2018-03-04 01:08:35 · 36222 阅读 · 23 评论