内容简介:Zig 0.7.0 已发布,这是一门通用编程语言,专为稳定性、可维护性和性能而设计,追求替代 C 语言在系统编程上的最佳地位。Zig 具有以下值得关注的特性: 手动管理内存 与 C 语言竞争而非依赖它,Zig 标准库不依赖于...
Zig 0.7.0 已发布,这是一门通用编程语言,专为稳定性、可维护性和性能而设计,追求替代 C 语言在系统编程上的最佳地位。Zig 具有以下值得关注的特性:
- 手动管理内存
- 与 C 语言竞争而非依赖它,Zig 标准库不依赖于 libc
- 轻量而简单,专注于调试应用而不是调试编程语言的知识
- 新的错误处理方法,与编写良好的 C 语言错误处理类似,但减少了很多冗余
- 调试模式下优化了快速编译时间,并在不确定行为发生时使用堆栈跟踪崩溃
- ReleaseFast 模式和 ReleaseSafe 模式
- 泛型数据结构和函数
- 通过协程实现并发
- 导入 .h 头文件并直接使用 C 语言的类型、变量和函数
- 导出要依赖 C 语言代码的函数,变量和类型,自动生成 .h 头文件
- 可选类型而非空指针
- 交叉编译是主要用例
此版本的开发周期历时 7 个月,共计 188 名不同的 contributor 提交了 2527 个 commit。
发布说明罗列了对不同系统(如 Windows、macOS、FreeBSD 和 NetBSD 等)以及 WebAssembly 的支持程度,总共分为四级,一级支持是最好的支持,四级支持代表的则是完全处于试验状态的支持。
部分更新内容:
- 升级至 LLVM 11:此版本的 Zig 已升级至 LLVM 11,而新版的 LLVM 将 AVR 提升为非实验性后端,因此 Zig 的 AVR 后端现已在该版本中广泛使用。
- 新增自托管编译器 (Self-Hosted Compiler),不过关于它的功能目前还处于讨论阶段,例如显示自托管现在可以通过的测试案例。
- 支持 macOS:macOS 在过去6个月的发展可谓是跌宕起伏,Big Sur 的重大变化,以及 arch64 架构设备的公布。开发者购买了苹果的开发套件,并一直致力于为这个系统提供 Zig 支持。Zig 程序现在可以在这个系统中运行,但他们需要一个变通的方法来利用系统链接器而不是 LLD。下一步是针对这个系统的 LLD 改进,以及开发者一直在研究的 Zig 自托管链接器代码。
- macOS libc header:Zig 现已提供 macOS 的 libc header,因此可以针对 macOS 交叉编译 C 代码。此外,对于本地 macOS 构建,编译 C 代码时对 xcode 的依赖性较小。
- ……
此版本包含 159 个Bugfix,详情点此查看。
最后,团队指出 0.7.0 的主要目标是进一步提升语言稳定性、创建语言规范的初稿以及自托管编译器。尤其是自托管编译器,因为 0.8.0 版本要实现的一项重要功能是内置软件包管理器,而包管理器依赖于自托管编译器。
详细内容查看发布公告
https://ziglang.org/download/0.7.0/release-notes.html
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Zig 0.6.0 发布,想要替换 C 的编程语言
- Zig 0.7.1 发布,想要替换 C 的编程语言
- Zig 0.5.0 发布,想要替换 C 的编程语言
- CSS 基础:块级元素、行内元素、替换元素、非替换元素
- Vim 中怎么将目标字符替换成新行以及如何替换换行符
- PowerShell正则替换实战
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
深入浅出Node.js
朴灵 / 人民邮电出版社 / 2013-12-1 / CNY 69.00
本书从不同的视角介绍了 Node 内在的特点和结构。由首章Node 介绍为索引,涉及Node 的各个方面,主要内容包含模块机制的揭示、异步I/O 实现原理的展现、异步编程的探讨、内存控制的介绍、二进制数据Buffer 的细节、Node 中的网络编程基础、Node 中的Web 开发、进程间的消息传递、Node 测试以及通过Node 构建产品需要的注意事项。最后的附录介绍了Node 的安装、调试、编码......一起来看看 《深入浅出Node.js》 这本书的介绍吧!
JS 压缩/解压工具
在线压缩/解压 JS 代码
Markdown 在线编辑器
Markdown 在线编辑器