1 #![no_std] // <1> 2 #![no_main] // <1> 3 #![feature(core_intrinsics)] // <2> 4 #[allow(non_upper_case_globals)] 5 #[allow(non_camel_case_types)] 6 #[allow(non_snake_case)] 7 8 use core::ffi::c_char; 9 use core::intrinsics; // <2> 10 use core::panic::PanicInfo; // <3> 11 include!("include/bindings/bindings.rs"); 12 13 #[panic_handler] 14 #[no_mangle] 15 pub fn panic(_info: &PanicInfo) -> ! { 16 intrinsics::abort(); // <4> 17 } 18 19 #[no_mangle] 20 pub extern "C" fn __rust_demo_func() -> i32 { 21 unsafe{ 22 let f = b"\nDragonOS's Rust lib called printk_color()\n".as_ptr() as *const c_char; 23 printk_color(GREEN, BLACK, f); 24 } 25 return 0; 26 } 27