العودة إلى الدورة

تخصيص الذاكرة والمخصصات (Allocators)

الدورة الكاملة: برمجة Zig من الصفر حتى الاحتراف

إدارة الذاكرة في Zig

لا تمتلك Zig مخصص ذاكرة عالمي افتراضي. يجب عليك تمرير مخصص ذاكرة (Allocator) للدوال التي تحتاج لتخصيص الذاكرة. يسمى هذا الإدارة الصريحة للموارد.

zig const std = @import("std");

pub fn main() !void { var gpa = std.heap.GeneralPurposeAllocator(.{}){}; const allocator = gpa.allocator();

const bytes = try allocator.alloc(u8, 100);
defer allocator.free(bytes);

}

هذا النهج يجعل الأمر واضحاً جداً حول أين وكيف يتم تخصيص الذاكرة.