dtolnay/cxx

Handle &CStr <-> const char*

Offen

#681 geöffnet am 16.01.2021

 (2 Kommentare) (2 Reaktionen) (0 zugewiesene Personen)Rust (253 Forks)batch import
help wanted

Repository-Metriken

Stars
 (4.472 Sterne)
PR-Merge-Metriken
 (Durchschn. Merge 8m) (3 gemergte PRs in 30 T)

Beschreibung

For a C++ function like this:

void example(const char *s);

it should work to call it as:

use std::ffi::CStr;

#[cxx::bridge]
mod ffi {
    unsafe extern "C++" {
        fn example(s: &CStr);
    }
}

fn main() {
    let cstr = CStr::from_bytes_with_nul(b"test\0").unwrap();
    ffi::example(cstr);
}

Contributor Guide