将一个 C 库绑定到 Rust。出现这个警告,不知道如何修复。
bindings.rs:3718:18
|
3718 | __value: u128,
| ^^^^ not FFI-safe
|
= note: 128-bit integers don't currently have a known stable ABI
bindings.rs 部分代码摘取
pub type _Float64x = u128;
# 3718 行
3716 extern "C" {
3717 pub fn qgcvt(
3718 __value: u128,
3719 __ndigit: libc::c_int,
3720 __buf: *mut libc::c_char,
3721 ) -> *mut libc::c_char;
3722 }
在 github 的 issue 里找到了一些资料,提到了 blocklist,但英文功底太差,没看明白怎么回事。
来自第二天的编辑:
blocklist 就是将对应的 type 和 function 屏蔽,就没有这个警告了。 但我不确定这样屏蔽是否有问题。
1
共 1 条评论, 1 页
评论区
写评论建议把u128拆成两个u64去传输,本来 C ABI 就没有 u128