use std::{ffi::{CStr, CString}, os::raw::c_char}; /// Print line #[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); } /// Get mut-able string from rust #[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() } /// Get const string from rust #[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() }