如何发布 Zig 应用程序
2024-01-12 在 博客
原文链接: https://zig.news/kristoff/how-to-release-your-zig-applications-2h90 API 适配到 Zig 0.12.0 版本 本文配套代码在这里找到 你刚用 Zig 写了一个应用程序,并希望其他人使用它。 让用户方便使用的一种方式是为他们提供应用程序的预构建可执行文件。 接下来,我将讨论一个好的发版流程所需要正确处理的两个主要事项。 为什么提供预构建的可执行文件? 鉴于 C/C++ 依赖系统如何工作(或者说 不工作), …
zig 构建系统解析 - 第三部分
2023-12-29 在 博客
原文链接: https://zig.news/xq/zig-build-explained-part-3-1ima API 适配到 Zig 0.11.0 版本 从现在起,我将只提供一个最精简的 build.zig,用来说明解决一个问题所需的步骤。如果你想了解如何将所有这些文件粘合到一个构建文件中,请阅读本系列第一篇文章。 复合项目 有很多简单的项目只包含一个可执行文件。但是,一旦开始编写库,就必须对其进行测试,通常会编写一个或多个示例应用程序。当人们开始使用外部软件包、C 语言库、生成代码等 …
zig 构建系统解析 - 第二部分
2023-12-28 在 博客
原文链接: https://zig.news/xq/zig-build-explained-part-2-1850 API 适配到 Zig 0.11.0 版本 注释 从现在起,我将只提供一个最精简的 build.zig,用来说明解决一个问题所需的步骤。如果你想了解如何将所有这些文件粘合到一个构建文件中,请阅读本系列第一篇文章。 在命令行上编译 C 代码 Zig 有两种编译 C 代码的方法,而且这两种很容易混淆。 使用 zig cc Zig 提供了 LLVM c 编译器 clang。 …
ZigCC 第二次线上会议
2023-12-27 在 社区新闻
2023-12-23,ZigCC 社区开始了第二次线上会议,共有 5 名 Zig 爱好者参加,分别是: 西瓜 贺鹏 Lambert 冯文轩 Reco 这次会议主要是同步了之前会议落实的 action,主要是同步了不同项目的进展,由于临近年底,大家进度都不算太大,但还是有所进展,算是开了个好头😄 项目进展 Zig-OS 主要参与人员:西瓜 进展:粗略看完 rust 版本的教程;完成 freestanding 二进制,现在卡在了 bootloader 阶段 Learn zig 主要参与人员: …
zig 构建系统解析 - 第一部分
2023-12-24 在 博客
原文链接: https://zig.news/xq/zig-build-explained-part-1-59lf API 适配到 Zig 0.11.0 版本 Zig 构建系统仍然缺少文档,对很多人来说,这是不使用它的致命理由。还有一些人经常寻找构建项目的秘诀,但也在与构建系统作斗争。 本系列试图深入介绍构建系统及其使用方法。 我们将从一个刚刚初始化的 Zig 项目开始,逐步深入到更复杂的项目。在此过程中,我们将学习如何使用库和软件包、添加 C 代码,甚至如何创建自己的构建步骤。 免责声明 由 …
Zig 语言中文社区第一次线上会议
2023-12-11 在 社区新闻
2023 年 12 月 9 日,Zig 中文社区第一次线上会议隆重召开。共有 8 位 Zig 爱好者参加,分布在北上杭成、美国等不同地方。 会议参会人员 和当年的从仙童半导体出逃的人数一样,不多不少。😄 硅谷八叛徒 会议伊始,成员首先进行了个人简介,便于后续开展相应工作。随后,社区成员围绕 Zig 语言的普及进行了交流讨论。 在交流讨论环节,大家就 Zig 语言的普及面临的挑战和机遇进行了深入的探讨。其中,大家认为 Zig 语言的普及面临的主要挑战包括: Zig 语言是一个新兴的语言,知名度还 …
Zig音频之MIDI —— 源码解读
2023-09-21 在 博客
MIDI 是“乐器数字接口”的缩写,是一种用于音乐设备之间通信的协议。而 zig-midi 主要是在对 MIDI 的元数据、音频头等元数据进行一些处理的方法上进行了集成。 1 2 3 4 5 6 7 8 9 10 11 12 . ├── LICENSE ├── ReadMe.md ├── build.zig ├── example │ └── midi_file_to_text_stream.zig ├── midi │ ├── decode.zig │ ├── encode.zig │ ├── …
欢迎 Zig 爱好者向本网站供稿
2023-09-05 在 博客
欢迎社区用户向 ZigCC 供稿(关于 Zig 的任何话题),方便与社区更多人分享。文章会发布在: ZigCC 网站 ZigCC 公众号 供稿方式 Fork 仓库 https://github.com/zigcc/zigcc.github.io 在 content/post 内添加自己的文章(md 或 org 格式均可),文件命名为: ${YYYY}-${MM}-${DD}-${SLUG}.md 文件开始需要包含一些描述信息,例如本文件中的: 1 2 3 4 5 --- title: …
Bog GC 设计 -- 概念篇
2023-09-05 在 博客
Bog 是一款基于 Zig 开发的小型脚本语言。它的 GC 设计受到一篇论文An efficient of Non-Moving GC for Function languages的启发。 梗概 概述 Heap 的设计 GC 的类别 Bitmap 的设计 实现 概述 GC 是一种垃圾回收的机制,主要是针对heap区域的内存管理策略。在堆中的内存分配是按照指数级增长的大小进行的,此外还有一个专门用于非常大对象的特殊子堆。这种方法的一个优点可能是它可以高效地处理各种大小的内存请求。 以公式来进行表 …