Implements println!
, eprintln!
and dbg!
on the libc
crate without
requiring the use of an allocator.
Allows you to use these macros in a #![no_std]
context, or in a
situation where the traditional Rust streams might not be available
(ie: at process shutdown time).
By default this crate provides libc_
-prefixed macros, but also allows consumers to
import macros with the same name as the stdlib printing macros via the std_name
module.
Exactly as you'd use println!
, eprintln!
and dbg!
.
```rust
// Use the default libc_
-prefixed macros:
libcprintln!("Hello {}!", "stdout");
libceprintln!("Hello {}!", "stderr");
let a = 2;
let b = libcdbg!(a * 2) + 1;
asserteq!(b, 5);
```
Or you can import aliases to std
names:
```rust use libcprint::stdname::{println, eprintln, dbg};
println!("Hello {}!", "stdout"); eprintln!("Hello {}!", "stderr"); let a = 2; let b = dbg!(a * 2) + 1; assert_eq!(b, 5); ```