yooocen 发表于 2019-12-08 22:32
我有一个疑问,假设我自己有一个rust写的wasm模块,我希望代码中用到另一个wasm模块的一个方法,我可以通过类似于extern "c" 类似的方法声明这个方法,然后在本模块中调用吗?
你这样太浅了,你要想有些模块并不是我开发的,比如说别人有一个go写的代码,转成一个wasm的包,有一些特性挺有用,在前端会引用,js可以用它的胶水代码,我自己有一个rust写的wasm包,我不希望通过js作为中间语言,我希望它的代码能直接在我的rust代码里面打桩,也就是FFI,然后我可以调。是这个意思,不过很感谢你可以尝试回答我的问题 对以下内容的回复:
倒腾了一下,可以定义一个wasm模块(src/wasm.rs),然后在wasm文件夹下创建wasma模块(/src/wasm/wasma.rs)和wasmb模块(/src/wasm/wasmb.rs),在wasmb模块中使用use super::wasma,这样做是可行的,可以参考(https://doc.rust-lang.org/book/ch07-03-paths-for-referring-to-an-item-in-the-module-tree.html),但是如果是在根目录下同级模块间这样做却不行,暂时没想出来为什么,我也是初学者,如果你知道了,我们可以交流。 对以下内容的回复:
是的,就是这个意思 对以下内容的回复:
请问问题中的“另一个wasm模块”是个新的模块吗?比如一个叫wasm A模块,一个叫wasm B模块,两者之间没有层级关系,只是A模块要引用B模块的方法。
评论区
写评论你这样太浅了,你要想有些模块并不是我开发的,比如说别人有一个go写的代码,转成一个wasm的包,有一些特性挺有用,在前端会引用,js可以用它的胶水代码,我自己有一个rust写的wasm包,我不希望通过js作为中间语言,我希望它的代码能直接在我的rust代码里面打桩,也就是FFI,然后我可以调。是这个意思,不过很感谢你可以尝试回答我的问题 对以下内容的回复:
倒腾了一下,可以定义一个wasm模块(src/wasm.rs),然后在wasm文件夹下创建wasma模块(/src/wasm/wasma.rs)和wasmb模块(/src/wasm/wasmb.rs),在wasmb模块中使用use super::wasma,这样做是可行的,可以参考(https://doc.rust-lang.org/book/ch07-03-paths-for-referring-to-an-item-in-the-module-tree.html),但是如果是在根目录下同级模块间这样做却不行,暂时没想出来为什么,我也是初学者,如果你知道了,我们可以交流。 对以下内容的回复:
是的,就是这个意思 对以下内容的回复:
请问问题中的“另一个wasm模块”是个新的模块吗?比如一个叫wasm A模块,一个叫wasm B模块,两者之间没有层级关系,只是A模块要引用B模块的方法。