diff --git a/src/backend/Assembly.zig b/src/backend/Assembly.zig index 914bffb033bfff5923a987cb6e997a23973c3155..016021362063c85c391c10bd8af7a3cfa8c691fa 100644 --- a/src/backend/Assembly.zig +++ b/src/backend/Assembly.zig @@ -6,11 +6,33 @@ text: []const u8, const Assembly = @This(); +/// 释放 Assembly 结构体占用的内存资源 +/// +/// 此函数释放 Assembly 实例中存储的 data 和 text 字段 +/// 在调用此函数后,Assembly 实例将不再可用 +/// +/// Parameters: +/// self: *const Assembly - Assembly 实例的只读指针 +/// gpa: Allocator - 用于释放内存的分配器 pub fn deinit(self: *const Assembly, gpa: Allocator) void { gpa.free(self.data); gpa.free(self.text); } +/// 将 Assembly 数据写入文件 +/// +/// 此函数将 Assembly 实例中的 data 和 text 字段内容 +/// 按顺序写入到指定的文件中 +/// +/// Parameters: +/// self: Assembly - Assembly 实例(按值传递) +/// file: std.fs.File - 目标文件句柄 +/// +/// Returns: +/// void - 成功时返回,失败时返回错误 +/// +/// Errors: +/// 可能返回 std.fs.File.WriteError 中定义的任何错误 pub fn writeToAllFile(self: Assembly, file: std.fs.File) !void { var vec: [2]std.posix.iovec_const = .{ .{ .base = self.data.ptr, .len = self.data.len },