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-开发环境搭建相关推荐

  1. NXP JN5189 ZigBee 3.0开发环境搭建(续)

    NXP JN5189 ZigBee 3.0开发环境搭建(续) 一.设置 SDK 安装位置 二.导入 DK6 的 SDK 三.安装 NXP Zigbee Configuration Editor 1.插 ...

  2. NXP JN5189 ZigBee 3.0开发环境搭建

    NXP JN5189 ZigBee 3.0开发环境搭建 一.下载相关软件 1.IDE 2.SDK 3.MCUXpresso Config Tools 4.GCC Arm Embedded tool c ...

  3. udig-1.4.0 开发环境搭建

       udig-1.4.0开发环境搭建 下载需要的文件 dropins-3.7.2.zip: http://udig.refractions.net/files/downloads/extras/ ...

  4. 音视频开发-SRS 4.0开发环境搭建丨webrtc丨FFmpeg丨SRS流媒体服务器开发

    SRS 4.0开发环境搭建 视频讲解如下,点击观看: 音视频开发-SRS 4.0开发环境搭建丨webrtc丨FFmpeg丨SRS流媒体服务器开发 音视频高级开发学习学习资料链接:FFmpeg/WebR ...

  5. Cocos2d-x.3.0开发环境搭建

    配置:win7 + VS2012 + Cocos2d-x.3.0 + Cocos Studio v1.4.0.1 前言:本文介绍在上述配置下进行游戏开发的环境搭建.开发语言为C++.如果读者不需要查看 ...

  6. Tigase 8.1.0开发环境搭建

    源码编译成功截图 Tigase 官网 https://tigase.net/ 源码下载地址 https://repository.tigase.org/git/tigase-server.git 小编 ...

  7. Ubuntu11 10 64Bit版上的Android 4 0 开发环境搭建

    据说Android以后新版本只支持64bit版本开发,所以搭建一个64bit系统的Android开发环境为将来的Android4.0 及更高版本 开发打好基础. 一.准备工作 1.1 硬件 PC 一台 ...

  8. JN5169 NXP Zigbee 3.0开发环境搭建

    前言 网上目前资料最多的是TI的 zigbee环境,以CC2538/2530,以及最新的26xx为主,关于NXP的JN5xx zigbee几乎很少或者没有,跟别说NXP新一代的LPW芯片KW21Z了, ...

  9. 杰里695N系列(soundbox)之0.0 开发环境搭建

    查看全部文章请点击:杰里AC695N开发详解汇总(持续更新中) ==================================================================== ...

  10. CAD二次开发--0.开发环境搭建及CAD层次结构

    本文章用于CAD二次开发学习工作总结,参考李冠艺著编的<深入浅出AutoCAD.NET二次开发>. 一.开发前准备: 首先开发前默认有一定的C#编程经验. 对CAD有一定的了解. 安装好V ...

最新文章

  1. 机器学习PAL数据可视化
  2. JavaScript Office文档在线编辑备忘
  3. bootstrap30-辅助类展示不同的背景颜色
  4. Scratch里定义重复动作的方法
  5. Table 表格导出功能
  6. android动态化ui框架,动态化高性能的 UI 框架 Virtualview-Android
  7. 阿里云上Kubernetes集群联邦 1
  8. SQLServer 2012重启服务后,自增1的标识列一次增长了1000左右
  9. 网易云api及 asrsea 加密参数文档
  10. javascript中数据访问性能优化简析
  11. 区块链学习笔记:D04 区块链在各行业领域的应用(二)
  12. 函数计算 GB 镜像秒级启动
  13. expect脚本中,变量的写法
  14. 移远BC26模组连接阿里云物联网平台
  15. 学习笔记-WinRM
  16. 瘟神的尾行 -- Rootkit技术发展史 (转载)
  17. mysqldatareader什么意思_MySqlDataReader
  18. Java之利用FreeMarker导出Word实例
  19. 水平耀斑_搜索引擎提交的内容:引发耀斑
  20. socket实现局域网语音通话 c++ winapi

热门文章

  1. 新书《编程之道》介绍
  2. 青年大学习简单窗口使用教程
  3. 如何用Photoshop去制作一张质量高的banner(轮播图)?
  4. 信息检索笔记(一):布尔检索
  5. workbook对象需要关闭_jxl读取excel需要关闭Workbook?
  6. BitCoin p2p通信过程
  7. android和夜神模拟器哪个好,天天模拟器和夜神安卓模拟器哪个好 两者功能对比...
  8. 阿朱:研发管理者必读文章
  9. outlook分组邮件提醒
  10. 深入浅出Yolo系列之Yolov5核心基础知识完整讲解