使用emcc编译的.wat文件中的编号函数是什么



我正在编译Rust代码,该代码在C++静态库中链接到wasm32未知emcc。出于好奇,我将生成的wasm文件转换为.wat文件以提高可读性,并在顶部看到了这一点。我理解了最后一行,因为我可以在随附的.js文件中看到invoke_viii的定义。在哪里可以找到关于前18个函数声明的函数定义/文档?

(module
(type (;0;) (func (param i32 i32) (result i32)))
(type (;1;) (func (param i32) (result i32)))
(type (;2;) (func (param i32 i32)))
(type (;3;) (func (param i32 i32 i32) (result i32)))
(type (;4;) (func (param i32)))
(type (;5;) (func (param i32 i32 i32)))
(type (;6;) (func (param i32 i32 i32 i32)))
(type (;7;) (func))
(type (;8;) (func (param i32 i32 i32 i32 i32)))
(type (;9;) (func (result i32)))
(type (;10;) (func (param i32 i32 i32 i32) (result i32)))
(type (;11;) (func (param i32) (result i64)))
(type (;12;) (func (param i32 i32 i32 i32 i32 i32)))
(type (;13;) (func (param i32 i32 i32 i32 i32 i32) (result i32)))
(type (;14;) (func (param i32 i32 i32 i32 i32 i32 i32)))
(type (;15;) (func (param i32 i32 i32 i32 i32) (result i32)))
(type (;16;) (func (param i32 i32 i32 i32 i32 i32 i32) (result i32)))
(type (;17;) (func (param i64 i32 i32) (result i32)))
(type (;18;) (func (param i32 i32 i32 i32 i32 i32 i32 i32)))
(import "env" "invoke_viii" (func $invoke_viii (type 6)))
// More stuff below
这些不是函数声明,而是声明函数类型的类型声明。
(import "env" "invoke_viii" (func $invoke_viii (type 6)))

这是在导入名为";invoke_viii";这个函数的类型是类型6,这个:

(type (;6;) (func (param i32 i32 i32 i32)))

在.wat文件中,(func ...)声明(无论是否在import内部(都是函数声明和定义。

相关内容

  • 没有找到相关文章

最新更新