惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

人人都是产品经理
人人都是产品经理
有赞技术团队
有赞技术团队
WordPress大学
WordPress大学
月光博客
月光博客
T
Tailwind CSS Blog
阮一峰的网络日志
阮一峰的网络日志
小众软件
小众软件
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Last Week in AI
Last Week in AI
大猫的无限游戏
大猫的无限游戏
S
SegmentFault 最新的问题
罗磊的独立博客
Jina AI
Jina AI
酷 壳 – CoolShell
酷 壳 – CoolShell
宝玉的分享
宝玉的分享
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 三生石上(FineUI控件)
量子位
雷峰网
雷峰网
Apple Machine Learning Research
Apple Machine Learning Research
美团技术团队
博客园 - 聂微东
V
V2EX

Rust

Tower 限流中间件,主要面向 HTTP 服务,专注固定窗口限流。 - V2EX [开源自推]我用 Rust 做了一个约 30 MiB 内存的多入口 AI Agent,已经在线跑了半年 - V2EX [开源] rload: 仅 3.5MB 内存,原生支持 Nginx 日志回放的 Rust 高性能压测工具 - V2EX RustScript: 给你的 Rust 项目带来脚本化功能 RUST 语法极其丑陋 一款跑在终端里的本地优先密码管理器,用全屏 TUI 管理账号、密钥和安全笔记。 如何理解 rust 闭包的借用值机制? 被借用的值在闭包内到底是什么类型? [开源] Best of RS - 一个由 Rust 编写的追踪 Rust 开源趋势的全栈 web 项目 Rust 真是非常适合 AI vibe coding 的语言 Pumpkin - 使用 Rust 开发的高性能 Minecraft 服务端 开源这两天 Vibe 的 Rust 重写的 OpenClaw 用 rust 写了一个非常简单的局域网文本同步的小玩意 [寻求帮助 Linux ] 用 rust 写了一个跨平台输入监听库(鼠标键盘) Contributions to Rust and LLVM in 2025 Linux 内核中的 rust 2025 年度 Rust 语言社区调查 已经发布 rust 让我抓狂、擦汗 推荐一款我写的动态配置语言: Faml 如何看待 Rust? Rust Web 开发脚手架 v0.6 发布啦! rathole 这个项目是不维护了吗? 之前那个 rust 贡献大佬找到工作了,找他的团队还不少 太快了! Rust 太快了! 介绍一个 like rails 的 rust 框架。 性能和开发速度都快。 除了写小工具外再也不想用 Rust 了 rust 我想你了 rust 程序员的硬盘是多大的? nodejs 继任者? rust 练手写的,仿 uv 包管理器 av Rust 的安全神话?为何在关键系统如数据库、大模型代码中仍选 C++ rust 实现的抓包存盘的程序 nsave
折腾了一阵 Rust + Cosmopolitan, 搭了套工具链,现在能把一...
zwzwzwzwzxt · 2026-08-11 · via Rust

先解释一下,jart/cosmopolitan 项目实现了一套 libc, 用了一些 trick 将 c 编译成在各个平台都能运行的单个二进制程序(真·一次编译到处运行)。ape(actually portable executable)指的就是这种格式。

其实很早之前就有人写了一个实验性质的项目尝试与 Rust 打通,但是遇到了很多问题。最主要的就是 Rust 标准库在编译期就写死了一些平台相关的 flag 常量,导致运行的时候其他系统识别不了就莫名崩掉或者行为不一致,而且后者这种最难查了。

我早期也探索过,办法是到处 patch 标准库和第三方库里的常量,一边读 std 一边读 cosmo 的实现一边 gdb ,勉强把同步网络那块调通就没精力了。这次有了 AI 的帮助,重新捡起来,加了一层 shim 把 Linux 语义翻译成宿主语义,虽然还是要 patch ,但不用再满世界改值了(结果越深入越发现 cosmo 少了很多东西,导致现在项目里写的适配 c 代码比 rust 代码都多了。。),异步那块也一起 搞定了。

项目在这里:starccy/rust-ape

如果您有兴趣尝试的话:

前置条件: 一个 Linux 环境,用于编译; Rust Nightly 工具链

用在现成的项目:

pin 住 Rust 版本(把本项目里的 rust-toolchain.toml cp 到 目标项目里),在 Cargo.toml 中我项目提供的 patch 段,然后 cargo xtask build /path/to/project

目前我测试了 rg 、fd 、hyperfine 、eza, yazi 等一些常用的 cli ,都不需要特意去改 rs 代码就能编译出来。不过有网络请求的项目还是要改:得使用 rustls, 而且必须把证书打包进二进制。

不过这些还算能绕过,还有一些绕不过的,完整的内容可以阅读项目内 README

用在新项目:

直接 cargo xtask generate /path/to/project 生成新的项目,用 cargo xtask build /path/to/project 来编译。 也可以试试直接编译 examples 下的代码,我都是当作测试来用的。


目前这个项目其实也是实验性的,我只修了自己撞到的问题,之外都是没探过的地方。现在还在摸它的上限在哪, 有兴趣的可以拿 examples 里那些场景先试试,那是我目前能担保的范围。踩到新坑欢迎开 issue ,我也想知道还剩多少。