Zig

✍ dations ◷ 2025-09-13 15:11:42 #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 (页面存档备份,存于互联网档案馆)

相关

  • Hsub2/subCrsub2/subOsub7/sub铬酸,化学式为H2CrO4,是三氧化铬溶于硫酸以及铬酸盐/重铬酸盐酸化时生成的化合物之一。重铬酸是二分子铬酸脱水形成的多酸,化学式为H2Cr2O7。三氧化铬是铬酸的酸酐,室温下为橘红
  • 夏尔·古诺夏尔-弗朗索瓦·古诺(法语:Charles-François Gounod,1818年6月17日-1893年10月17日),法国作曲家,代表作是歌剧《浮士德》。古诺出生于巴黎,母亲是一位钢琴师,父亲是一位画家。很早就
  • 斯维尔德洛夫斯克州斯维尔德洛夫斯克州(俄语:Свердло́вская о́бласть,罗马化:Sverdlovskaya oblast)是俄罗斯联邦主体之一,属于乌拉尔联邦管区,首府叶卡捷琳堡。大部分位于乌拉
  • 接口卡接口卡(Interface Card,Adapter)是电脑和周边硬件的沟通桥梁,举凡:屏幕(显卡)、喇叭(声卡)、鼠标、键盘、打印机、光盘驱动器、硬盘等,每一样都是透过接口卡传输数据才可运作。现代电
  • 嘉莉迪·恩格列斯嘉莉迪·恩格列斯(CariDee English;1985年5月22日-)是一名美国模特儿,来自北达科塔州,是《全美超级模特儿新秀大赛》第七季的冠军。在击败对手梅露丝·毕卡尔丝芙后,她得到了CoverG
  • 碘化铁(I)碘化铁(I)是一种无机化合物,化学式为FeI。碘化铁(I)不稳定,可以通过Fe(CO)2I的热分解得到。在高压(123~360 GPa)下,它的空间群为P1,晶胞参数a=4.257, b=4.256, c=4.262, α=100.9
  • 北京麋鹿生态实验中心坐标:39°46′44″N 116°27′28″E / 39.77889°N 116.457868°E / 39.77889; 116.457868北京麋鹿生态实验中心,又名北京生物多样性保护研究中心、北京南海子麋鹿苑博物馆,位
  • 赵清景赵清景(1922年-1995年7月6日),男,河南西华人,中华人民共和国政治人物,曾任黑龙江省农垦总局局长,黑龙江省人大常委会副主任。
  • 孔玠孔玠(1122年-1154年),字锡老,宋朝时袭庆府仙源县(今山东省曲阜市)人。孔子四十九代孙,孔延泽玄孙,孔宗愿曾孙,孔若蒙之孙,孔端操第四子。建炎二年(1128年)冬,他和伯父孔端友随宋高宗南渡,先
  • 教宗路爵一世教宗圣路爵一世(拉丁语:Sanctus Lucius PP. I;约200年-254年3月5日)于253年6月25日-254年3月5日在位为教宗。