Files
simple-rust-tests/__ffi/dotalib/src/lib.rs
2021-01-10 18:21:01 +08:00

22 lines
519 B
Rust

use std::{ffi::{CStr, CString}, os::raw::c_char};
#[no_mangle]
pub unsafe extern "C" fn println(str: *const c_char) {
let c_str = CStr::from_ptr(str).to_str().unwrap();
println!("{}", c_str);
}
#[no_mangle]
pub unsafe extern "C" fn get_str_mut() -> *mut c_char {
let c_string = CString::new("hello world!").expect("Error!");
c_string.into_raw()
}
#[no_mangle]
pub unsafe extern "C" fn get_str() -> *const c_char {
let c_string = CString::new("hello world!").expect("Error!");
c_string.as_ptr()
}