diff --git a/src/backend/Assembly.zig b/src/backend/Assembly.zig index ec9d671034bd211f4d1064014b7bca08927052e0..89d4d62bf551ecb592e053d51f8387efdeadbdfb 100644 --- a/src/backend/Assembly.zig +++ b/src/backend/Assembly.zig @@ -6,12 +6,20 @@ text: []const u8, const Assembly = @This(); +/// 释放 Assembly 结构体中分配的内存 +/// 需要调用者传入正确的 allocator +/// @param gpa - 泛型分配器,用于释放 data 和 text 字段的内存 pub fn deinit(self: *const Assembly, gpa: Allocator) void { gpa.free(self.data); gpa.free(self.text); } -pub fn writeToFile(self: Assembly, file: std.fs.File) !void { +/// 将程序集数据写入文件 +/// 将 data 和 text 字段的内容按顺序写入文件 +/// @param self - Assembly 实例 +/// @param file - 目标文件句柄 +/// @return 如果写入成功返回 void,如果发生错误返回 error +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 }, .{ .base = self.text.ptr, .len = self.text.len },