A WebAssembly System Interface Implementation for Deno

栏目: IT技术 · 发布时间: 5年前

内容简介:This package provides an implementation of theThis is a work in progress so if a function isn't implemented, hit refresh.

WebAssembly System Interface implementation for Deno

This package provides an implementation of the WebAssembly System Interface for the Deno TypeScript runtime.

Status

This is a work in progress so if a function isn't implemented, hit refresh.

Name Status Notes
args_get
args_sizes_get
environ_get
environ_sizes_get
clock_res_get
clock_time_get
fd_advise This has no obvious path to implementation at this time.
fd_allocate This has no obvious path to implementation at this time.
fd_close
fd_datasync This is blocking on getting fdatasync(2) implemented upstream in Deno.
fd_fdstat_get This currently does not write flags and rights as we do not track those at the moment.
fd_fdstat_set_flags This has no obvious path to implementation at this time.
fd_fdstat_set_rights
fd_filestat_get This is blocking on getting fstat implemented upstream in Deno.
fd_filestat_set_size This is blocking on getting ftruncate implemented upstream in Deno.
fd_filestat_set_times
fd_pread
fd_prestat_get
fd_prestat_dir_name
fd_pwrite
fd_read
fd_readdir
fd_renumber
fd_seek
fd_sync This is blocking on getting fsync(2) implemented upstream in Deno.
fd_tell
fd_write
path_create_directory
path_filestat_get
path_filestat_set_times
path_link
path_open Opening directories is not portable
path_readlink
path_remove_directory
path_rename
path_symlink
path_unlink_file
poll_oneoff
proc_exit
proc_raise
sched_yield
random_get
sock_recv
sock_send
sock_shutdown

Example

import WASI from "https://deno.land/x/wasi/mod.ts";

const wasi = new WASI({
	args: Deno.args,
	env: Deno.env,
});

const binary = Deno.readAll("command.wasm");
const module = await WebAssembly.compile(binary);
const instance = await WebAssembly.instantiate(module, {
	wasi_snapshot_preview1: wasi.exports,
});

wasi.memory = module.exports.memory;

if (module.exports._start) {
	instance.exports._start();
} else if (module.exports._initialize) {
	instance.exports._initialize();
} else {
	throw new Error("No entry point found");
}

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

概率编程实战

概率编程实战

[美]艾维·费弗 (Avi Pfeffer) / 姚军 / 人民邮电出版社 / 2017-4 / 89

概率推理是不确定性条件下做出决策的重要方法,在许多领域都已经得到了广泛的应用。概率编程充分结合了概率推理模型和现代计算机编程语言,使这一方法的实施更加简便,现已在许多领域(包括炙手可热的机器学习)中崭露头角,各种概率编程系统也如雨后春笋般出现。本书的作者Avi Pfeffer正是主流概率编程系统Figaro的首席开发者,他以详尽的实例、清晰易懂的解说引领读者进入这一过去令人望而生畏的领域。通读本书......一起来看看 《概率编程实战》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

SHA 加密
SHA 加密

SHA 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具