Resultados de la búsqueda a petición "ffi"
¿Cuál es la forma correcta de asignar datos para pasar a una llamada FFI?
Despuésdiscutir / aprender sobre la forma correcta de llamar a un FFI de la API de Windows desde Rust [https://stackoverflow.com/questions/39534712/should-i-pass-a-mutable-reference-or-transfer-ownership-of-a-variable-in-the-con] , Jugué un poco ...
Intercambie datos estructurados entre Haskell y C
Primero, soy un principiante de Haskell. Estoy planeando integrar Haskell en C para el juego en tiempo real. Haskell hace lógica, C hace renderizado. Para hacer esto, tengo que pasar enormes datos de estructura compleja (estado del juego) entre ...
Declaración de datos vacíos almacenables
Estoy intentando crear un contenedor Haskell para una biblioteca C. Las estructuras subyacentes son demasiado complicadas para expresarlas como tipos explícitos, y en realidad no las uso más que para pasar entre las funciones de C, así que estoy ...
¿Cómo puedo crear un puntero a datos existentes usando el LuaJIT FFI?
Sé que hay ejemplos de creación de punteros utilizando el LuaJIT FFI, pero la mayoría de estos no apuntan a datos existentes. Un ejemplo de esto está aquí: ¿Cómo pasar un puntero a LuaJIT ffi para usarlo como ...
¿Cómo convierto una cadena C en una cadena Rust y viceversa a través de FFI?
Estoy tratando de obtener una cadena C devuelta por una biblioteca C y convertirla en una cadena Rust a través de FFI. mylib.c const char* hello(){ return "Hello World!"; }main.rs #![feature(link_args)] extern crate libc; use libc::c_char; ...
¿Cómo vincular un archivo de objeto personalizado con la biblioteca Haskell?
Creé un paquete Haskell que hace llamadas FFI a funciones definidas en el código CUDA. Me gustaría compilar el archivo .cu en un archivo de objeto (.o) durante la compilación del paquete y forzar al vinculador a vincularlo. Hasta ahora, intenté ...
¿Cómo puedo indexar matrices C en Rust?
Tengo una función C que devuelve un puntero: type MYSQL_RES_REF = *mut c_void; type MYSQL_ROW = *const *const c_char; #[no_mangle] extern "C" { fn mysql_fetch_row(res: MYSQL_RES_REF) -> MYSQL_ROW; } let pointer = mysql_fetch_row(self.res); let ...
¿Cuál es la forma correcta de pasar de un String a un * const i8?
En mi actual saga de escribir unenvoltura segura [https://github.com/tupshin/cql-ffi/]Para elControlador Cassandra C ++ [https://github.com/datastax/cpp-driver/], ahora mi ojo se vuelve hacia evitar pérdidas de memoria al llamar a funciones C con ...
Biblioteca C liberando un puntero proveniente de Rust
Quiero hacer enlaces Rust a una biblioteca de C que requiera una devolución de llamada, y esta devolución de llamada debe devolver un estilo Cchar* puntero a la biblioteca C que luego lo liberará. La devolución de llamada debe estar en cierto ...
Genéricos de ocultamiento de punteros a través de `mem :: transmute ()`
Estoy intentando escribir enlaces Rust para una biblioteca de colección C (Judy Arrays [1]) que solo proporciona espacio para almacenar un valor de ancho de puntero. Mi empresa tiene una buena cantidad de código existente que utiliza este espacio ...