繁体   English   中英

使用 clang 和 web 装配目标时有没有办法使用 sqrt

[英]Is there a way to use sqrt when using clang and web assembly target

我正在使用 clang --target=wasm32 --no-standard-libraries 将 c++ 编译为 web 程序集。 有没有办法说服 clang 生成 sqrt? 它没有找到具有此目标的 <math.h> 。

您是否已经尝试在没有标志--no-standard-libraries情况下进行编译? 如果删除它,clang 可能会找到math.h库(因为它是标准库)。

这是因为wasm32-unknown-unknown是 Clang 中的完全准系统目标,并且没有任何标准库 - 即没有math.h ,没有 I/O 函数,甚至没有memcpy

但是,您通常可以使用--target wasm32-wasi + WASI SDK 代替: https://github.com/WebAssembly/wasi-sdk

它包括整个标准库,甚至包括在兼容环境中通过WASI 标准与文件系统交互的函数。

如果您的代码不依赖于文件系统/时钟/其他 I/O,那么您可以安全地使用 WASI-SDK 获取math.hmemcpymalloc和其他标准函数,并且生成的 WebAssembly 将兼容任何非WASI 环境也是如此。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM