Alloc Structs
Structs สำหรับ memory allocation
Layout
Section titled “Layout”use std::alloc::Layout;
fn main() { // Create layout for a type let layout = Layout::new::<i32>(); println!("i32 Layout:"); println!(" size: {} bytes", layout.size()); println!(" align: {} bytes", layout.align());
// Layout for array let array_layout = Layout::array::<i32>(10).unwrap(); println!("\n[i32; 10] Layout:"); println!(" size: {} bytes", array_layout.size()); println!(" align: {} bytes", array_layout.align());
// Custom layout let custom = Layout::from_size_align(100, 8).unwrap(); println!("\nCustom Layout:"); println!(" size: {} bytes", custom.size()); println!(" align: {} bytes", custom.align());
// Layout of struct #[repr(C)] struct MyStruct { a: u8, b: u32, c: u16, }
let struct_layout = Layout::new::<MyStruct>(); println!("\nMyStruct Layout:"); println!(" size: {} bytes", struct_layout.size()); println!(" align: {} bytes", struct_layout.align());
// Extend layout let (extended, offset) = layout.extend(Layout::new::<f64>()).unwrap(); println!("\nExtended Layout:"); println!(" total size: {}", extended.size()); println!(" offset of second: {}", offset);}เข้าสู่ระบบเพื่อดูเนื้อหาเต็ม
ยืนยันตัวตนด้วยบัญชี Google เพื่อปลดล็อกบทความทั้งหมด
Login with Google