百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
C

cranelift-jit-demo

> 编程语言
开源

使用 Cranelift 为玩具语言编写 JIT 编译器和运行时

755 stars0 点赞0 次浏览
访问官网GitHub

工具介绍

使用 Cranelift 为玩具语言编写 JIT 编译器和运行时

你好! 这是一个简单的示例,它使用 Cranelift 进行 JIT 编译一个玩具语言。 它使用正在开发中的新的 JIT 接口 这里。 JIT 负责管理符号表、分配内存和执行重定位,提供了一个相对简单的 API。 这部分灵感来自 Ulysse Carion 和 JT 的 rustyjit。

Cranelift 正在被设计以允许灵活地使用它。有时这种灵活性可能是一种负担,我们最近开始通过一组新的 crate cranelift-module, cranelift-jit 和 cranelift-faerie 来解决这个问题,这些 crate 将多个函数和数据接口组合成一些易于使用的配置,可同时处理多个函数。cranelift-module 是用于同时处理多个函数和数据接口的通用接口。此接口可以放在 cranelift-jit 上,后者会将代码和数据写入内存,以便执行和访问。此外,它还可以放在 cranelift-faerie 上,后者会将代码和数据写入本地 .o 文件,这些文件可以链接到本地可执行文件中。

本文通过演示 JIT 来介绍 Cranelift。我们使用 cranelift-jit 编译器。目前此演示在 Linux x86-64 平台上运行。它也可能在 Mac x86-64 平台上运行,但我尚未具体测试过。Cranelift 正在被设计为将来支持许多其他类型的平台。

fn foo(a, b) -> (c) {

[llvm-rust-getting-started](https://github.com/ucarion/llvm-rust-getting-started)
[first example](./src/bin/toy.rs#L63)

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Rustcraneliftdemojittoy-language

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言