xxc
可编译可解释的系统级语言 - 确定性 ARC 无 GC / 全自举工具链 / 三后端逐字节一致
📝 产品介绍
xxc 是什么
xxc 是一门跨平台、可编译也可解释的系统级语言:Go 式的人体工学、无 tracing GC(确定性 ARC + 值类型)、自带 GUI / 数据库 / 网络 / JS 引擎电池——而且整个工具链(编译器、汇编器、链接器)全部用 xxc 自己编写,字节级自举不动点验证,如同 Go 的自举模式。
亮点
- 三后端逐字节一致:树遍历解释器(
xxc run,语义基准)、扁平栈字节码 VM(xxc vm,约 2.8 倍速)、原生编译(xxc build,直出机器码)——差分门矩阵全绿 - 直出机器码,零外部工具链:自带进程内汇编器与链接器,Windows PE / Linux 静态 ELF(x86-64 + aarch64)三个目标,不依赖 gcc/binutils/libc
- 确定性内存:原子引用计数(x86 lock / a64 独占对),归零即释放;无停顿、无扫描;
XXC_ARC_FREE=1开启真释放路径并由差分门验证 - 并发:
spawn+ channel(有缓冲/汇合)+select,worker 池调度与死锁检测——解释器与编译产物同一语义;打印行原子(并发任务永不撕行) - 自举:lexer → parser → typeck → gen → xas → xld 全链 xxc 编写,
build_selfhost.sh验证不动点 - 电池:GUI(软件光栅器 + 原生窗口)、内置 JS 引擎、WebView、SQLite、正则、加密、base64、URI、异步文件与 TCP/HTTP
一键安装
# Linux x64 / arm64
curl -fsSL https://magicdo.top/install/xxc.sh | bash
# Windows (PowerShell)
irm https://magicdo.top/install/xxc.ps1 | iex
30 秒上手
xxc run hello.xxc # 解释执行
xxc vm hello.xxc # 字节码 VM
xxc build hello.xxc # 原生可执行文件(./hello 直接运行)
代码长什么样
struct Point { x: int; y: int } // 值类型(赋值即拷贝)
class Box { value: int } // 引用类型(确定性 ARC)
fn inv(x: int) -> int ! {
if x == 0 { return error("zero") }
return 100 / x
}
fn main() {
a := Point{x: 1, y: 2}
b := a // 独立副本
c := Box{value: 10}
d := c // 共享实例,引用计数 +1
n := inv(5)? // 错误传播
m := inv(0) or { -1 } // 错误恢复
print(a.x, c.value, n, m)
}
跨平台二进制
| 平台 | 文件 |
|------|------|
| Windows x64 | xxc.exe |
| Linux x64 | xxc(静态 ELF,无 glibc 版本顾虑) |
| Linux ARM64 | xxc(静态 ELF,aarch64) |
编译器本身即分发物:拿到哪个平台的 xxc,就能编译出哪个平台的程序(Windows 上 XXC_TARGET=linux 可交叉产出 Linux ELF)。
文档页集 / Documentation(本站)
中文文档
English Documentation
📦 下载
⚡ 一键安装
🪟 WindowsWindows 一键安装
irm https://magicdo.top/install/xxc.ps1 | iex🐧 LinuxLinux 一键安装
curl -fsSL https://magicdo.top/install/xxc.sh | bash