wasm(jsC++)0-开发环境搭建
webAssembly官网:https://www.wasm.com.cn/
环境搭建
确保windows下已安装git、cmake、visual studio、python 2.7.x
git拉取源码(建议登入官网用ssh下载 https://github.com/emscripten-core/)
git clone https://github.com/emscripten-core/
进入目录
cd emsdk
安装最新的包
emsdk install latest
激活sdk
emsdk activate latest
添加环境变量
emsdk_env.bat
需注意上述环境变量的添加只是临时的,即我们换另一个终端该环境变量就会失效,因此可以用以下方法设置环境变量:
通过我们上面执行的脚本,不难发现有两个部分,一个是在PATH中添加了一些环境变量,还有一个是在全局加了一些环境变量,(下图红框中的信息)。因此我们只需要在环境变量中添加对应的信息即可。
编译
新建一个 .c 文件(注意不是cpp,因为cpp会有一个问题,在此我们先使用.c文件)
例如:
//main.cpp
#include"stdio.h"
int main() {printf("Hello wasm\n");return 0;
}
之后我们使用
emcc main.c
进行编译,会发现生成了两个文件:a.out.js、a.out.wasm。这里,我们用node跑一下js文件,可能会抛出异常:
stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the FAQ), or make sure to emit a newline when you printf etc.
(this may also be due to not including full filesystem support - try building with -s FORCE_FILESYSTEM=1)
这里的意思其实就是说main函数执行完毕了,因此其中的静态变量以及I/O缓冲区都被释放了,但我们本意并不想让他释放(因为我们js模块还要输出I/O缓冲区中的"Hello wasm\n"),所以只需按上述提示用
emcc main.c -s EXIT_RUNTIME=1
生成文件即可。
同理,我们也可以使用
emcc main.c -s EXIT_RUNTIME=1 -o main.html
生成一个html文件,之后用 live server 打开即可(如果编译器是vscode,可以直接在插件商城里找live server)
wasm(jsC++)0-开发环境搭建相关推荐
- NXP JN5189 ZigBee 3.0开发环境搭建(续)
NXP JN5189 ZigBee 3.0开发环境搭建(续) 一.设置 SDK 安装位置 二.导入 DK6 的 SDK 三.安装 NXP Zigbee Configuration Editor 1.插 ...
- NXP JN5189 ZigBee 3.0开发环境搭建
NXP JN5189 ZigBee 3.0开发环境搭建 一.下载相关软件 1.IDE 2.SDK 3.MCUXpresso Config Tools 4.GCC Arm Embedded tool c ...
- udig-1.4.0 开发环境搭建
udig-1.4.0开发环境搭建 下载需要的文件 dropins-3.7.2.zip: http://udig.refractions.net/files/downloads/extras/ ...
- 音视频开发-SRS 4.0开发环境搭建丨webrtc丨FFmpeg丨SRS流媒体服务器开发
SRS 4.0开发环境搭建 视频讲解如下,点击观看: 音视频开发-SRS 4.0开发环境搭建丨webrtc丨FFmpeg丨SRS流媒体服务器开发 音视频高级开发学习学习资料链接:FFmpeg/WebR ...
- Cocos2d-x.3.0开发环境搭建
配置:win7 + VS2012 + Cocos2d-x.3.0 + Cocos Studio v1.4.0.1 前言:本文介绍在上述配置下进行游戏开发的环境搭建.开发语言为C++.如果读者不需要查看 ...
- Tigase 8.1.0开发环境搭建
源码编译成功截图 Tigase 官网 https://tigase.net/ 源码下载地址 https://repository.tigase.org/git/tigase-server.git 小编 ...
- Ubuntu11 10 64Bit版上的Android 4 0 开发环境搭建
据说Android以后新版本只支持64bit版本开发,所以搭建一个64bit系统的Android开发环境为将来的Android4.0 及更高版本 开发打好基础. 一.准备工作 1.1 硬件 PC 一台 ...
- JN5169 NXP Zigbee 3.0开发环境搭建
前言 网上目前资料最多的是TI的 zigbee环境,以CC2538/2530,以及最新的26xx为主,关于NXP的JN5xx zigbee几乎很少或者没有,跟别说NXP新一代的LPW芯片KW21Z了, ...
- 杰里695N系列(soundbox)之0.0 开发环境搭建
查看全部文章请点击:杰里AC695N开发详解汇总(持续更新中) ==================================================================== ...
- CAD二次开发--0.开发环境搭建及CAD层次结构
本文章用于CAD二次开发学习工作总结,参考李冠艺著编的<深入浅出AutoCAD.NET二次开发>. 一.开发前准备: 首先开发前默认有一定的C#编程经验. 对CAD有一定的了解. 安装好V ...
最新文章
- 机器学习PAL数据可视化
- JavaScript Office文档在线编辑备忘
- bootstrap30-辅助类展示不同的背景颜色
- Scratch里定义重复动作的方法
- Table 表格导出功能
- android动态化ui框架,动态化高性能的 UI 框架 Virtualview-Android
- 阿里云上Kubernetes集群联邦 1
- SQLServer 2012重启服务后,自增1的标识列一次增长了1000左右
- 网易云api及 asrsea 加密参数文档
- javascript中数据访问性能优化简析
- 区块链学习笔记:D04 区块链在各行业领域的应用(二)
- 函数计算 GB 镜像秒级启动
- expect脚本中,变量的写法
- 移远BC26模组连接阿里云物联网平台
- 学习笔记-WinRM
- 瘟神的尾行 -- Rootkit技术发展史 (转载)
- mysqldatareader什么意思_MySqlDataReader
- Java之利用FreeMarker导出Word实例
- 水平耀斑_搜索引擎提交的内容:引发耀斑
- socket实现局域网语音通话 c++ winapi