Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
17
Task/Memory-allocation/Rust/memory-allocation.rust
Normal file
17
Task/Memory-allocation/Rust/memory-allocation.rust
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
// we have to use `unsafe` here because
|
||||
// we will be dereferencing a raw pointer
|
||||
unsafe {
|
||||
use std::alloc::{Layout, alloc, dealloc};
|
||||
// define a layout of a block of memory
|
||||
let int_layout = Layout::new::<i32>();
|
||||
|
||||
// memory is allocated here
|
||||
let ptr = alloc(int_layout);
|
||||
|
||||
// let us point to some data
|
||||
*ptr = 123;
|
||||
assert_eq!(*ptr, 123);
|
||||
|
||||
// deallocate `ptr` with associated layout `int_layout`
|
||||
dealloc(ptr, int_layout);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue