基于 LLVM 编译后端,支持 JIT 即时编译与 AOT 原生编译; 无 GC 的确定性内存管理,无 STW 停顿; 计算密集型场景性能与 Go 原生编译基本持平。
从类型系统到内存管理,Rex 在易用与性能之间取得平衡。
默认 O2 优化,-O 0/1/2/3 可选;rex build 输出不依赖任何运行时的原生 exe。
函数帧自动释放、单所有者隐式移动、字符串帧池;无全停顿、无回收开销,内存占用可预期。
int / float / bool / str / ptr / struct / 动态数组 / Map / Set / 可选类型 T? / 多返回值。
throw / try / catch + ? 错误传播 + 自动栈回溯,异常可跨函数边界捕获。
thread.spawn / 互斥锁 / 原子计数器,多核真实并行;数组参数自动深拷贝快照,天然线程安全。
math / string / file / os / thread … 约 420 个函数;另有 JSON / HTTP / 加密 FFI 扩展库。
不需要安装任何环境,下载解压即可开始。
下载 rex-release.zip(约 429 MB),解压到任意目录。无需安装 Python / LLVM / gcc。
打开终端,进入解压目录,运行 rex version 查看版本号。
创建第一个程序文件 hello.rex(见右侧示例)。
执行 rex run hello.rex,Rex 会编译并运行你的程序。
fn greet(name: str) {
print("Hello,", name)
}
fn main() {
let msg: str = "Rex"
greet(msg)
// 字符串插值
let year: int = 2026
print("Rex was born in {year}.")
// 数组 + for-in
let arr: int[] = [1, 2, 3, 4, 5]
var sum: int = 0
for v in arr {
sum += v
}
print("sum =", sum)
}输出:Hello, Rex · Rex was born in 2026. · sum = 15