From e1ed7ffd9ffd0e16ea1c4770f8301d71d8caacba Mon Sep 17 00:00:00 2001 From: git <593+git@user.noreply.gitee.com> Date: Wed, 6 Aug 2025 02:08:47 +0000 Subject: [PATCH 1/2] update src/backend/Assembly.zig. Signed-off-by: git <593+git@user.noreply.gitee.com> --- src/backend/Assembly.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/Assembly.zig b/src/backend/Assembly.zig index ec9d671..914bffb 100644 --- a/src/backend/Assembly.zig +++ b/src/backend/Assembly.zig @@ -11,7 +11,7 @@ pub fn deinit(self: *const Assembly, gpa: Allocator) void { gpa.free(self.text); } -pub fn writeToFile(self: Assembly, file: std.fs.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 }, .{ .base = self.text.ptr, .len = self.text.len }, -- Gitee From 46d4f2e19f67a6964ea5036e54270156acf4cee2 Mon Sep 17 00:00:00 2001 From: OpenCode Agent Date: Fri, 23 Jan 2026 11:15:56 +0000 Subject: [PATCH 2/2] =?UTF-8?q?docs:=20=E4=B8=BA=20Assembly.zig=20?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=87=BD=E6=95=B0=E6=96=87=E6=A1=A3=E6=B3=A8?= =?UTF-8?q?=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 为 deinit 函数添加中文文档注释,说明其释放内存资源的功能 - 为 writeToAllFile 函数添加中文文档注释,说明其写入文件的操作 - 包含参数描述、返回值和错误处理文档 --- src/backend/Assembly.zig | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/src/backend/Assembly.zig b/src/backend/Assembly.zig index 914bffb..9a9a238 100644 --- a/src/backend/Assembly.zig +++ b/src/backend/Assembly.zig @@ -6,15 +6,39 @@ text: []const u8, const Assembly = @This(); +/// 释放Assembly实例分配的内存资源 +/// +/// 释放data和text字段所占用的内存空间 +/// +/// Parameters: +/// - self: Assembly实例的常量指针 +/// - gpa: 全局内存分配器,用于释放内存 pub fn deinit(self: *const Assembly, gpa: Allocator) void { gpa.free(self.data); gpa.free(self.text); } +/// 将汇编代码数据写入文件 +/// +/// 将Assembly实例的data和text数据写入指定的文件描述符 +/// data和text字段会被写入到同一个iovec数组中,实现原子性写入操作 +/// +/// Parameters: +/// - self: Assembly实例的值拷贝 +/// - file: 目标文件描述符,必须具有写权限 +/// +/// Returns: +/// void 成功写入时返回void +/// +/// Errors: +/// - error.InputOutput: 发生I/O错误时返回 +/// - error.BrokenPipe: 管道断开连接时返回 +/// - error.SystemResources: 系统资源不足时返回 +/// - error.FileDescriptorNotOpen: 文件描述符未打开时返回 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 }, }; - return file.writevAll(&vec); + return file.writeAll(&vec); } -- Gitee