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 2a1b29e26bc1fc133dc87c41e31ccd5385cd7e87 Mon Sep 17 00:00:00 2001 From: Documentation Agent Date: Fri, 23 Jan 2026 09:53:22 +0000 Subject: [PATCH 2/2] =?UTF-8?q?docs:=20=E4=B8=BAAssembly.zig=E5=87=BD?= =?UTF-8?q?=E6=95=B0=E6=B7=BB=E5=8A=A0=E6=96=87=E6=A1=A3=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 为deinit函数添加释放内存的文档说明 - 为writeToAllFile函数添加文件写入的文档说明 - 包含参数描述、返回值和错误条件 --- src/backend/Assembly.zig | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/backend/Assembly.zig b/src/backend/Assembly.zig index 914bffb..b582473 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段内存 +/// +/// Parameters: +/// - self: Assembly对象的常量指针 +/// - gpa: 通用分配器,用于释放内存 pub fn deinit(self: *const Assembly, gpa: Allocator) void { gpa.free(self.data); gpa.free(self.text); } +/// 将汇编的data段和text段写入文件 +/// +/// 使用writevAll系统调用一次性写入数据段和代码段, +/// 保持数据的原始顺序(先data后text) +/// +/// Parameters: +/// - self: Assembly对象(按值传递) +/// - file: 目标文件句柄 +/// +/// Returns: +/// - void: 写入成功 +/// - error: 文件写入相关的错误 +/// +/// Error Conditions: +/// - 文件写入失败时返回错误 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 }, -- Gitee