0
私はC++で配列の形をしており、それをRustで書かれた共有ライブラリ関数に渡したいと思います。私はfrom_row_vector()
にc_void
を渡すので、これはコンパイルされません何か nalgebraのDMatrix2へのc_voidポインタとしてFFI配列を渡すにはどうすればよいですか?
#![crate_type = "dylib"]
extern crate libc;
use libc::c_void;
extern crate nalgebra as na;
use na::DMatrix2;
#[no_mangle]
pub extern "C" fn rust_fn(p_data: *const c_void, sizex: usize, sizey: usize) {
let matrix = DMatrix2::from_row_vector(sizey, sizex, p_data);
// Do something usefull with the matrix
}
を持っています。
どうすればこのようにすることができますか?
マトリックスは2倍の配列ですが、インターフェースを汎用的に保つようにしています。 Python。
私は関数から返ってくるときに行列を解放したくありません(私は借用したい、行列を所有しない)。