dtolnay/cxx

Handle &CStr <-> const char*

Ouverte

#681 ouverte le 16 janv. 2021

 (2 commentaires) (2 réactions) (0 personne assignée)Rust (253 forks)batch import
help wanted

Métriques du dépôt

Stars
 (4 472 étoiles)
Métriques de merge PR
 (Merge moyen 8m) (3 PRs mergées en 30 j)

Description

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);
}

Guide contributeur