Web Assembly C++ (1) : helloworld

环境部署

确保python版本至少是2.7以上的(ubuntu 18默认的是python3,理论上可以,我测试的也可以)
Emscripten SDK - emsdk

# Get the emsdk repo
git clone https://github.com/emscripten-core/emsdk.git

# Enter that directory
cd emsdk

# Download and install the VERSION SDK tools.
# 可以安装一个最新版,也可以指定版本,为了后续的维护,建议指定版本
#./emsdk install latest
./emsdk install 1.38.45

# Make the "latest" SDK "active" for the current user. (writes ~/.emscripten file)
./emsdk activate 1.38.45

# Activate PATH and other environment variables in the current terminal
source ./emsdk_env.sh

# Get a specific version using the upstream backend.
#./emsdk install latest-upstream

# Get a specific version using the fastcomp backend.
#./emsdk install 1.38.45-fastcomp

# Install CMake (optional, only needed for tests and building Binaryen)
sudo apt-get install cmake
sudo apt-get install python2.7
# Install Java (optional, only needed for Closure Compiler minification)
sudo apt-get install default-jre

Hello World

hello.c

#include <stdio.h>
int main(int argc, char ** argv) {
	printf("Hello, world!\n");
}
emcc hello.c -s WASM=1 -o hello.html

可能遇到的问题:
ModuleNotFoundError: No module named ‘distutils.spawn’
需要 python3-distutils

sudo apt-get install python3-distutils
emrun --no_browser --port 8080 .

或者使用python的

python -m http.server 8000

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
WebAssembly: Accessing C and C++ in Web Applications English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 1h 45m | 213 MB Accelerate web applications with native code using WebAssembly. WebAssembly is a new, revolutionary technology that allows developers to program webpages using popular high-level languages like C, C++, Rust, and Python. Code is then compiled to WebAssembly bytecode and implemented by the JavaScript engine built into all web browsers. You gain flexibility and functionality without sacrificing performance. This course focuses on the practical uses of the technology: converting C and C++ code to WebAssembly and executing WebAssembly in JavaScript. Programmer and engineer Matt Scarpino demonstrates the power of the WebAssembly, implementing quick sort and matrix multiplication algorithms. He also reviews advanced features, such as debugging and the WebAssembly text format. By the end of the course, you’ll understand the massive potential WebAssembly represents and be ready to implement it in your next web project. Topics include: Programming for WebAssembly with Enscripten Building projects with enmake Loading WebAssembly into JavaScript Calling JavaScript in WebAssembly Practical algorithms for WebAssembly apps Analyzing WebAssembly apps Table of Contents Introduction 1 Accelerate your web applications with WebAssembly 2 What you should know 3 Using the exercise files WebAssembly and Emscripten 4 Overview of WebAssembly 5 Installing Emscripten 6 Installation walk-through 7 Compilation and execution 8 Simple WebAssembly example 9 Building projects with emmake 10 Emscripten makefile example WebAssembly Development 11 Loading WebAssembly into JavaScript 12 Loading WebAssembly example 13 Calling JavaScript in WebAssembly 14 Calling JavaScript example 15 Memory objects 16 Memory object example Practical Algorithms in WebAssembly 17 Introduction to quicksort 18 Implementing quicksort in WebAssembly 19 Introduction to matrix operations 20 Managing matrice
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值