首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将wasi-libc与共享内存标志链接?

如何将wasi-libc与共享内存标志链接?
EN

Stack Overflow用户
提问于 2021-12-01 07:15:40
回答 2查看 834关注 0票数 1

我想在我的WASM模块中导入共享内存,并试图链接我的对象文件,所有这些文件都是用-matomics-mbulk-memory以及wasi-libc -lclc++-lc++abi库编译的。但是得到了一个错误:

wasm:错误:-共享内存被errno.o不允许,因为它不是用“atomics”或“批量内存”特性编译的。

据我所知,wasm链接了一些libc对象文件,编译时没有上面的标志,所以不能链接它。如何将这些标志提供给链接器?或者需要使用这些标志从源构建wasi-libc?

EN

回答 2

Stack Overflow用户

发布于 2021-12-01 14:42:29

通过在链接时指定--no-check-features标志解决了问题。

票数 1
EN

Stack Overflow用户

发布于 2021-12-01 16:21:05

现在,wasi-libc不支持共享内存或多线程。如果您想要使某些东西正常工作,您至少需要用-pthread编译器标志重新编译核心库(libc、编译器-rt、libcxx、libcxxabi)。

如果你想在今天(2021年)用WebAssembly使用mutli线程,那么它使用emscripten和它的基于Worker的多线程方法是唯一合理的选择。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70180309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档