SuperAPI AI 工具集

zig-system-calls

通用与其它

查看项目

更新于 10-16 03:14

技能介绍

用途:指导在 Zig 代码中使用 bun.sys 实现系统调用与文件 I/O,替代 std.fs 或 std.posix,以获得跨平台支持与更完整的错误信息。

主要能力:优先使用 bun.sys.File 包装器完成打开、读写、stat、getEndPos 等常见文件操作,并提供与 std.io 兼容的 reader/writer。底层函数返回 Maybe(T) 标签联合,可 switch 处理 result/err,或用 unwrap、unwrapOr 转换。错误类型包含 errno、getErrno、syscall、fd、path 等信息,多数函数自动重试 EINTR。支持打开、读写、pread/pwrite、readv/writev、stat/lstat/fstat、路径操作(unlink、rename、readlink、link、symlink、mkdir、rmdir)、权限(chmod、chown)、目录操作与 bun.DirIterator 遍历、ftruncate、lseek、dup、fcntl、pipe、mmap、access、utimens 等。

使用方式:文件操作示例中通过 File.open 返回的 result/err 分支获取文件句柄,defer file.close() 清理,读写用 file.read、file.writeAll 并 unwrap。底层调用使用 bun.O.* 标志而非 std.os.O.*,fd.close() 放在 defer 中。目录遍历使用 bun.iterateDir 与 iter.next()。

限制:bun.sys 对 socket 支持有限,网络 I/O 应使用 uws.Socket,管道或阻塞 I/O 使用 PipeReader.zig 与 PipeWriter.zig,不要用 bun.sys 做 socket 读写。statx 仅限 Linux。低层函数仅在 bun.sys.File 不满足需求时使用。资料未提供安装命令、收费、平台支持范围等更多信息。