比如我提供一个.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 ![]() 用 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? |