Zig

✍ dations ◷ 2025-06-20 10:37:00 #Zig

Zig是一个命令式、通用、静态类型、编译的系统编程语言。 以“强健性、最佳性以及可维护性”为核心理念。 它支持编译时泛型与反射、交叉编译以及手动存储器管理。 目标为改进 C语言 ,同时参考从 Rust 和其他语言。Zig 有许多低端程序设计的功能,例如紧致结构(成员间没有填充的结构)、任意大小的整数以及多指针类型。

Zig 最初的编译器是用 Zig 和 C++ 编写而成,以 LLVM 13 为后端 。这个编译器使用 MIT许可证 授权。Zig 编译器和 Clang 类似,能编译 C 与 C++(使用“zig cc”以及“zig c++”指令),也为不同的平台提供头文件,包括 C标准库 和 C++标准库,因此 Zig 的 cc 与 c++ 子命令能直接作为交叉编译器。

Zig 的开发由 Zig 软件基金会 (ZSF) 资助,该资金会是一家非营利公司,由 Andrew Kelley 担任总裁,也有雇佣一些全职员工,同时接受捐款。

const std = @import("std");pub fn main() !void {    const stdout = std.io.getStdOut().writer();    try stdout.print("Hello, {}!n", .{"world"});}

链接串列

pub fn main() void {    var node = LinkedList(i32).Node {        .prev = null,        .next = null,        .data = 1234,    };    var list = LinkedList(i32) {        .first = &node,        .last = &node,        .len = 1,    };}fn LinkedList(comptime T: type) type {    return struct {        pub const Node = struct {            prev: ?*Node,            next: ?*Node,            data: T,        };        first: ?*Node,        last:  ?*Node,        len:   usize,    };}

参见

  • C
  • C++
  • Nim
  • Rust
  • D

参考资料

  1. ^ Kelley, Andrew. Introduction to the Zig Programming Language. andrewkelley.me. . (原始内容存档于2022-02-21). 
  2. ^ 2.0 2.1 https://ziglang.org/download/#release-0.10.1.
  3. ^ Zig has all the elegant simplicity of C, minus all the ways to shoot yourself in the foot. JAXenter. 2017-10-31 . (原始内容存档于2021-11-25) (美国英语). 
  4. ^ Tired of C? New programming language Zig aims to be more pragmatic and readable. 2017-10-19 . (原始内容存档于2021-11-25) (美国英语). 
  5. ^ Yegulalp, Serdar. New challenger joins Rust to topple C language. InfoWorld. 2016-08-29 . (原始内容存档于2021-11-25) (英语). 
  6. ^ Zig language and C. Sina Corp. 2020-07-12 . (原始内容存档于2021-11-25). 
  7. ^ The Zig Programming Language. ziglang.org. . (原始内容存档于2022-04-01). 
  8. ^ Mozilla's Observatory, the Zig programming language, and uSens' VR/AR SDK—SD Times news digest: Aug. 29, 2016. SD Times. 2016-08-29 . (原始内容存档于2021-11-25) (美国英语). 
  9. ^ The Zig Programming Language. ziglang.org. . (原始内容存档于2022-04-01). 
  10. ^ Company, Sudo Null. Sudo Null - IT News for you. SudoNull. . (原始内容存档于2021-11-25) (英语). 
  11. ^ Kelley, Andrew. Unsafe Zig is Safer Than Unsafe Rust. andrewkelley.me. . (原始内容存档于2022-02-21). 
  12. ^ Tim Anderson 24 Apr 2020 at 09:50. Keen to go _ExtInt? LLVM Clang compiler adds support for custom width integers. www.theregister.co.uk. . (原始内容存档于2020-05-15) (英语). 
  13. ^ Documentation - The Zig Programming Language. ziglang.org. . (原始内容存档于2022-03-31). 
  14. ^ SD Times news digest: C++20 concepts in Visual Studio 2010 version 16.3, Bootstrap to drop IE support, and Zig 0.60 released. SD Times. 2020-04-14 . (原始内容存档于2021-11-25) (美国英语). 
  15. ^ A Reply to _The Road to Zig 1.0_. www.gingerbill.org. 2019-05-13 . (原始内容存档于2021-09-07) (英国英语). 
  16. ^ ziglang/zig, Zig Programming Language, 2020-02-11 , (原始内容存档于2022-03-30) 
  17. ^ 0.6.0 Release Notes · The Zig Programming Language. ziglang.org. . (原始内容存档于2022-02-21). 
  18. ^ 'zig cc': a Powerful Drop-In Replacement for GCC/Clang - Andrew Kelley. andrewkelley.me. . (原始内容存档于2022-03-17). 
  19. ^ Zig Makes Go Cross Compilation Just Work. DEV Community. . (原始内容存档于2022-03-03) (英语). 
  20. ^ Jakub Konka on Twitter. Twitter. . (原始内容存档于2021-12-01) (英语). 
  21. ^ Announcing the Zig Software Foundation ⚡ Zig Programming Language. ziglang.org. . (原始内容存档于2021-11-15). 
  22. ^ Sponsor ZSF ⚡ Zig Programming Language. ziglang.org. . (原始内容存档于2022-02-21). 

外部连接

  • 官方网站
  • GitHub (页面存档备份,存于互联网档案馆)

相关

  • 中子温度中子温度,亦称中子能量,指的是自由中子的动能,单位通常是电子伏特。由于中子经过不同温度的减速剂会有不同的速度分布,一般可以使用温度来衡量中子的动能。中子的能量分布基本上
  • 疑源类疑源类(Acritarchs)是具有机壁的、亲缘关系不明的微体化石类群,它们很可能是多源的、具有不同亲缘关系的集合体。目前不能将它们归为任何已知的生物门类,但随着研究的深入一些疑
  • 笄礼,是中国、朝鲜传统的女性成年礼。笄礼作为女性的成人礼,像男性的冠礼一样,也是表示成人的仪式,在举礼的程序等问题上大体和冠礼相同。“笄”(拼音:jī ,注音符号:ㄐㄧ),《说文解字
  • 苏迪曼山脉苏迪曼山脉(Sudirman Range或Dugunduguoo、Nassau Range)是印度尼西亚巴布亚省的一座山脉,包括毛克山脉的西部。最高峰是查亚峰(海拔4,884m)。格拉斯伯格矿场位于山脉中部,由印尼
  • 梁栋材 (分子生物物理学家)梁栋材(1932年5月29日-),广东广州人,中国分子生物物理学家。1955年毕业于中山大学化学系。1960年在苏联科学院元素有机化合物研究所研究生毕业,获副博士学位。1985年当选为世界科
  • 优素福·维比索诺优素福·维比索诺(印度尼西亚语旧拼写法:Joesoef Wibisono,新拼写法:Yusuf Wibisono)(1909年-1982年6月15日)是已故印度尼西亚政治人物,穆斯林。印尼独立后,优素福·维比索诺加入了新
  • 埃德·伦德尔爱德华·金·“埃德”·伦德尔 (Edward Gene "Ed" Rendell,1944年1月5日-)美国律师。曾任费城市长 (1992年—1999年),现任美国宾夕法尼亚州州长。民主党籍。
  • 林一元林一元(1906年-1988年),曾用名林原,男,广东罗定人,中国政治人物、社会活动家,政务院参事,政协第一届全体会议代表。
  • 斯坦尼斯瓦娃·瓦拉谢维奇斯坦尼斯瓦娃·瓦拉谢维奇(波兰语:Stanisława Walasiewicz,1911年4月3日-1980年12月4日),田径运动员。出生于波兰,在美国成长,后入美籍。1932年洛杉矶奥运会女子100米跑冠军,前女子100米跑和200米跑世界纪录保持者。死后尸检结果显示其体内多数细胞有X、Y染色体各一条,少数细胞只有一条X染色体。国际奥委会和国际田联均承认其作为女选手的过往成绩、奖牌和纪录。瓦拉谢维奇出生后洗礼时的姓名为斯特凡妮娅·瓦拉谢维乔芙娜(Stefania Walasiewiczówna)。但她
  • 205年