如何解决使用clang和web程序集目标时有没有办法使用sqrt
我正在使用 clang --target=wasm32 --no-standard-libraries 将 C++ 编译为 Web 程序集。有没有办法说服clang生成sqrt?它没有找到具有此目标的
解决方法
您是否已经尝试在没有标志 --no-standard-libraries
的情况下进行编译?如果删除它,clang 可能会找到 math.h
库(因为它是标准库)。
这是因为 wasm32-unknown-unknown
在 Clang 中是一个完全准系统的目标,并且没有任何标准库——也就是说,没有 math.h
,没有 I/O 函数,甚至没有 {{1} }.
但是,您通常可以使用 memcpy
+ WASI SDK 代替:https://github.com/WebAssembly/wasi-sdk
它包括整个标准库,甚至包括在兼容环境中通过 WASI standard 与文件系统交互的函数。
如果你的代码不依赖文件系统/时钟/其他I/O,那么你可以放心地使用WASI-SDK来获得--target wasm32-wasi
、math.h
、memcpy
等标准功能,并且生成的 WebAssembly 也将与任何非 WASI 环境兼容。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。