A WebAssembly System Interface Implementation for Deno

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

内容简介: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");
}

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

查看所有标签

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

软件开发本质论

软件开发本质论

Ron Jeffries / 王凌云 / 人民邮电出版社图灵分社 / 2017-1 / 39

想象你正在攀登一座名为“软件开发”的山峰。本书是与你同登一座山峰的敏捷先驱所带来的话语与图片。他在崎岖的山路边找到相当平坦的歇脚处,画下所见的风景,并写下自己的想法和发现。他瞧见很多条上山的路,愿以此书与你分享哪条路容易、哪条路困难、哪条路安全、哪条路危险。他还想指引你欣赏身后的美景。正是这些美景丰富了你的登山之旅,让你在重重困难中收获成长。 “对于每一位CTO、技术VP、软件产品总......一起来看看 《软件开发本质论》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

html转js在线工具
html转js在线工具

html转js在线工具