Передача списка строк из Python в Rust

Я изучал Rust уже около двух недель, и сегодня я попал в FFI. Я использовал Python для игры с Rust, используя ctypes и libc. Я передал целые числа, строки и даже научился передавать список целых чисел (благодаря этому замечательному ответу).

Затем я попытался передать список строк (следуя обоснованию этого ответа), но потерпел неудачу, так как не смог получить от него подсказку. В Python у меня есть что-то вроде этого, чтобы передать массив строк.

def testRust():
    lib = ctypes.cdll.LoadLibrary(rustLib)
    list_to_send = ['blah', 'blah', 'blah', 'blah']
    c_array = (ctypes.c_char_p * len(list_to_send))()
    lib.get_strings(c_array, len(list_to_send))

В Rust я думал, что должно быть что-то (вродеSTRING_RECEIVER) собирать поступающие строки, но я не могу их найти.

#![feature(libc)]
extern crate libc;

use std::slice;
use libc::{size_t, STRING_RECEIVER};

#[no_mangle]
pub extern fn get_strings(array: *const STRING_RECEIVER, length: size_t) {
    let values = unsafe { slice::from_raw_parts(array, length as usize) };
    println!("{:?}", values);
}

Есть ли альтернативный способ добиться этого?

Ответы на вопрос(1)

Ваш ответ на вопрос