这个项目能做什么

Zen C 是一种现代系统编程语言,其编译器生成人类可读的 GNU C/C11,而非自定义字节码或运行时。其既定目标是将高级语言的人体工程学与 C 的性能和互操作性相结合,并保持完整的 C ABI 兼容性,以便生成的代码能够链接到现有的 C 库。 README 中描述的语言特性包括类型推断、模式匹配、泛型、特质、异步/等待,以及带有 RAII 风格设施的手动内存管理。编译器用 C 编写,并通过 make 构建;还记录了 Windows 批处理脚本和通过 Cosmopolitan Libc 构建的可移植“Actually Portable Executable”,后者生成一个单一二进制文件,旨在 x86_64 和 aarch64 架构上的 Linux、macOS、Windows 及多种 BSD 系统上运行。 工具链包括命令行编译器(zc),带有运行、构建和转译子命令;使用 LibTCC 进行进程内 JIT 编译的 REPL(zc-repl);支持跳转到定义、引用、悬停、补全、文档符号、签名帮助和诊断的语言服务器(zc-lsp);以及文档生成器(zc-doc)。调试使用标准 C 调试器,如 LLDB 或 GDB,并存在针对 VS Code、Vim/Neovim 和 Zed 的编辑器集成。 标准库涵盖集合(Vec、Map、Set、Stack、Queue)、支持 UTF-8 的字符串、选项和结果类型、文件系统、I/O、路径、环境、网络(TCP、UDP、HTTP、DNS、URL)、线程、时间、JSON、正则表达式、SIMD 类型、任意精度整数和浮点数、复数、进程管理和 CUDA 辅助功能。内置单元测试框架提供命名测试块、非致命断言,以及等于失败测试数量的退出代码。 输出后端可针对 C、C++、CUDA、Objective-C、JSON、AST 转储、Common Lisp 和 Graphviz,并带有后端特定选项。编译器还可以通过公共头文件作为 C 库嵌入。README 提到了针对 GCC、Clang、Zig 和 TCC 的测试套件结果,并提及 MISRA C:2012 合规性测试,同时明确声明不隶属于该标准。