laqudee/zig-project
Zig Language Note and Action
note
example
simple init-exe demo
没有隐式控制流,没有隐式内存分配,没有预处理器,没有宏
如果 zig 代码看起来不像在调用一个函数,那么它就不是
Zig 将所有的控制流完全用语言关键字和函数调用来表达
四种构建模式:
堆栈跟踪
裸金属 ?
启用安全检查的构建模式
将未定义作为一个利器,既可以预防 bug,又可以提升性能
顺序无关的顶层声明
可选类型代替空指针
手动内存管理
错误是值,不可忽略
在所有目标上启用堆栈跟踪
泛型数据结构与函数
编译期反射和编译期代码执行
zig标准库使用这种技术来实现格式化打印,zig的格式化打印完全是在zig中实现的
zig还可以在编译期对函数和代码块求值
无需FFI/bindings的C库集成
Zig也是C的编译器
导出函数、变量和类型供C代码使用
交叉编译的一流支持
Zig构建系统
使用异步函数进行并发