diff --git a/src/backend/Assembly.zig b/src/backend/Assembly.zig index 914bffb033bfff5923a987cb6e997a23973c3155..f2a111697b6343f09b007b2c34feeeaea00822dc 100644 --- a/src/backend/Assembly.zig +++ b/src/backend/Assembly.zig @@ -11,6 +11,16 @@ pub fn deinit(self: *const Assembly, gpa: Allocator) void { gpa.free(self.text); } +/// 将 Assembly 结构体的 data 和 text 字段内容写入到指定的文件中。 +/// 使用 scatter-gather I/O 方式(writev)同时写入两个数据段,以提高 I/O 效率。 +/// +/// 参数: +/// - self: Assembly 实例,包含 data 和 text 数据 +/// - file: 目标文件句柄 +/// +/// 返回: +/// - 如果写入成功返回 void +/// - 如果发生错误则返回错误类型 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 },