wasm-c-api:Wasm C API原型

时间:2024-06-17 16:37:56
【文件属性】:

文件名称:wasm-c-api:Wasm C API原型

文件大小:85KB

文件格式:ZIP

更新时间:2024-06-17 16:37:56

C++

WebAssembly C和C ++ API 工作正在进行中! 尚无文档。 设计目标 提供一个“黑匣子” API,用于将Wasm引擎嵌入其他C / C ++应用程序中。 完全不了解虚拟机细节。 非目标:与嵌入“白盒”互操作性(如结合GC,而不是单纯的定稿) -更加难以实现。 允许通过典型的C外部函数接口为其他语言创建绑定。 支持普通的C API。 坚持对接口对象进行手动存储管理。 避免使用会增加使用障碍的语言功能。 例如,C ++ API中没有例外或C ++ 11之后的功能。 例如,在C API中不传递结构按值或C99后的功能。 实现不同实现之间的链接时兼容性。 所有与实现相关的API类都是抽象的,并且只能通过工厂方法进行实例化。 介面 C ++ API: 有关接口,请参见include/wasm.hh 有关示例用法,请参见example/*.cc 。cc。 C


【文件预览】:
wasm-c-api-master
----Dockerfile(320B)
----.gitignore(7B)
----README.md(4KB)
----LICENSE(11KB)
----include()
--------wasm.h(22KB)
--------wasm.hh(18KB)
----src()
--------wasm-v8.cc(63KB)
--------wasm-bin.hh(632B)
--------wasm-v8-lowlevel.hh(4KB)
--------wasm-bin.cc(14KB)
--------wasm-v8-lowlevel.cc(18KB)
--------wasm-c.cc(29KB)
----example()
--------table.cc(6KB)
--------hostref.wat(654B)
--------finalize.wat(76B)
--------trap.wat(197B)
--------serialize.wasm(71B)
--------global.c(8KB)
--------hostref.wasm(231B)
--------start.wat(57B)
--------multi.wasm(81B)
--------reflect.c(5KB)
--------start.wasm(48B)
--------multi.cc(3KB)
--------trap.c(4KB)
--------finalize.wasm(75B)
--------hello.c(3KB)
--------multi.wat(235B)
--------hello.wasm(71B)
--------serialize.c(3KB)
--------reflect.cc(4KB)
--------start.c(2KB)
--------global.cc(7KB)
--------callback.cc(4KB)
--------hello.wat(84B)
--------threads.c(4KB)
--------hostref.cc(8KB)
--------threads.wat(153B)
--------table.c(6KB)
--------global.wasm(576B)
--------threads.cc(4KB)
--------trap.wasm(105B)
--------serialize.cc(3KB)
--------callback.wat(295B)
--------reflect.wat(200B)
--------global.wat(1KB)
--------callback.c(4KB)
--------serialize.wat(84B)
--------memory.wat(308B)
--------memory.c(6KB)
--------multi.c(4KB)
--------memory.wasm(146B)
--------hello.cc(3KB)
--------start.cc(2KB)
--------memory.cc(5KB)
--------finalize.c(3KB)
--------reflect.wasm(124B)
--------threads.wasm(84B)
--------trap.cc(4KB)
--------table.wat(345B)
--------callback.wasm(102B)
--------table.wasm(139B)
--------finalize.cc(3KB)
--------hostref.c(8KB)
----patch()
--------0001-BUILD.gn-add-wasm-v8-lowlevel.patch(729B)
----Makefile(8KB)

网友评论