比如我提供一个.so 中的加法器:
32 位系统中的 c 来调用:
int adder(int a, int b);
64 位系统中的 c 来调用
int64 adder(int64 a, int64 b);
这种有办法条件编译?
1
DianQK 2023-02-15 14:47:52 +08:00
cty 中的 `c_long`?
|
2
DsuineGP 2023-02-15 15:50:10 +08:00
rust 端导出 i32 i64 两个 ffi 接口
c 端在编译期根据 target 判断调用哪个接口 |
3
araaaa 2023-02-16 12:16:37 +08:00 1
用 isize usize
|
4
proxytoworld 2023-02-21 11:49:08 +08:00
c 里面
#ifdef x64_86 int adder(int a, int b); #else int64 adder(int64 a, int64 b); rust 里面 #[cfg(target_arch = "x86_64")] fn adder(a:i64,b:i64) -> i64 #[cfg(target_arch = "x86")] fn adder(a:i32,b:i32) -> i32 |
5
suifengdaren 2023-02-21 14:10:30 +08:00 via Android
isize
|
6
dalabenba 2023-06-10 21:08:02 +08:00 via Android
feature gate?
|