7.2.1.1 模块化动态链接 7.2.1.1 模块化动态链接:当 不再是编译期契约,而是运行时握手协议 你有没有在深夜调试一个 WebAssembly 应用时,突然发现——模块 A 明明导出了 , 模块 B 也正确声明了 ,可执行时却抛出 ? 不是拼写错误。不是路径错配。不是 WASI 版本不兼容。 是模块 B 在实例化时,传入的 中, 命名空间下压根没有 这个函数——哪怕它在另一份独立编译的 文件里、就在你本地磁盘上、甚至刚被 下来解码成 。 这不是 bug。这是 WebAssembly 模块化动态链接最真实、最锋利、也最容易被误读的切口:导入(import)不是类型声明,而是运行时契约;而“动态链接”的本质,从来不是自动解析符号,而是由工程师亲手编织一张跨模块的信任网络。