簡體   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