簡體   English   中英

在 Rust 中使用帶有 wasm-bindgen 的地毯

[英]Using rug in Rust with wasm-bindgen

我想將 rug crate 與 wasm-bindgen 一起使用,以允許我在 web 瀏覽器中使用任意精度算術。 但是,每當我嘗試編譯時,它都無法構建庫,說的是

未解決的導入libc::c_charlibc::c_intlibc::c_long

有解決方法嗎? 如果涉及 Emscripten 那很好,但我希望能夠主要編寫 Rust 代碼。

rug取決於libc

我找到了 https://github.com/rust-lang/libc/issues/858#issuecomment-573331279

根據定義, wasm32-unknown-unknown沒有libc 如果你想使用 emscripten 或 wasi,你可以使用wasm32-unknown-emscriptenwasm32-wasi ,libc crate 已經支持這兩者。

https://users.rust-lang.org/t/wasm-unknown-vs-emscripten/22997/5看起來像是對差異的一個很好的解釋。

嘗試使用ibig 它具有純 Rust 代碼,因此可以編譯為 wasm 沒問題。

另請參閱此處不同 Rust 庫的性能比較。 ibig 正在迅速趕上 GMP(以及地毯)的性能。

這是一個聲稱可以編譯到WASM的GMP的fork,大概是wasm32-wasi

Rug 主要是圍繞 GMP 的 Rust 包裝器,但應該可以直接調用 WASM

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM