JS调用C的填坑之路,通过WebAssembly

JS如何调用C函数接口(文章中的图片不知道为何无法拷贝,不过都是些错误提示,影响不大,所有有部分图片没有上传)

 

参考案例1:https://blog.csdn.net/pkx1993/article/details/79550180(代码有点小问题,有部分参考价值)

 

这里涉及到Emscripten和WebAssembly技术,首先我们来了解一下什么是WebAssembly。

WebAssembly是一种小体积,高加载速度的二进制编码格式。从名字就能知道,这是一门底层汇编级的语言。有了WebAssembly,我们的虚拟机层就将会同时加载和运行两种类型的代码——JavaScript和WebAssembly。这两种代码可以通过WebAssembly所提供的js api实现互相调用。事实上,WebAssembly代码的基本单元被称作一个模块,并且这个模块在很多方面都和ES2015的模块是等价的。所以我们可以认为WebAssembly模块是一个“高性能的JS函数”。WebAssembly不是用来取代JavaScript的。它被设计为和JavaScript一起协同工作,从而使得网络开发者能够利用两种语言的优势。WebAssembly设计的目的不是为了手写汇编级别代码,而是为诸如C、C++等低级源语言提供一个高效的编译目标,使得以各种语言编写的代码都可以以接近原生的速度在web中运行。这一点具有重大的意义,这意味着所有由传统语言编写的客户端app都可以在web上高效运行,也就是说在未来客户端全面web化,未来可能不再需要客户端app 。(更多详细参考:https://blog.csdn.net/m549393829/article/details/81839822

Emscripten是c文件的编译环境,可以将C文件编译成JS可用的wasm文件,wasm文件,顾名思义,web-asm,就相当于web界的汇编。

安装Emscripten有很多坑,分为Linux版本和Windows版本,目前我试安装了Linux版本,在付出了把218.77服务器系统搞崩的代价之后,重装系统继续填坑终于安装好(BUT执行不了???泪奔!!!(╥╯^╰╥)),以下是具体的填坑过程。

 

不建

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值