Как представить указатель на массив в Rust для C
Мне нуженextern "C"
Функция FFI в Rust и хочет принять массив фиксированного размера. Код C передает что-то вроде:
// C code
extern int(*)[4] call_rust_funct(unsigned char (*)[3]);
....
unsigned char a[] = { 11, 255, 212 };
int(*p)[4] = call_rust_funct(&a);
Как мне написать свою функцию Rust для него?
// Pseudo code - DOESN'T COMPILE
pub unsafe extern "C" fn call_rust_funct(_p: *mut u8[3]) -> *mut i32[4] {
Box::into_raw(Box::new([99i32; 4]))
}