本文主要是介绍【Rust日报】Brioche - 一个全新的包管理器和构建工具,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Brioche - 一个全新的包管理器和构建工具
Brioche 是一个全新的包管理器和构建工具,结合了 Nix、Homebrew 和 Cargo 等其他包管理器的优点,使用 TypeScript 进行类型检查和自动补全,近日发布了 0.1 版本。
Brioche 作者曾在 Tangram, Inc. 工作,并在那里获得了灵感,而作者也曾是 Nix 用户,但因为使用上的挫折而放弃。因此,Brioche 旨在保留 Nix 的最佳特性,同时设计得更少怪癖。
可以通过下面的方式,快速构建 rust 应用,并且完成 docker 打包
import * as std from "std";
import { cargoBuild } from "rust";export default () => {// Build a Rust projectconst server = cargoBuild({crate: Brioche.glob("src", "Cargo.*"),});// Put it in a container imagereturn std.ociContainerImage({recipe: server,entrypoint: ["/bin/server"],});
}
目前这个版本,还存在一些问题,比如目前仅限于 x86-64 Linux,只有少量的包,存在性能问题和语言服务器协议实现的错误。
作者的计划是,短期内提高性能,增加更多包,支持更多平台,长期目标则是成为管理软件项目的最佳方式,感兴趣的可以持续关注。
github主页
项目官网 https://brioche.dev/
undname: 处理 MSVC 的混淆符号
作者在处理混淆符号时对现有解决方案不满意,特别是 Win32 的 UnDecorateSymbolName
函数和 msvc-demangler
库。
具体的原因是,UnDecorateSymbolName
函数需要将字符串转换为 utf-16 编码,且存在缺陷和单线程限制,而 msvc-demangler
库仅支持 utf-8 编码输入,且缺少对多种混淆字符串的支持。
因此,作者创建了一个新的 Rust 库,旨在提供更准确、支持更广泛的混淆字符串格式,并且性能优于现有解决方案。有下面的特点:
准确性:与 Microsoft 的实现相比,该库能更准确地处理混淆字符串。
支持范围:支持广泛的混淆字符串格式,超过
msvc-demangler
。性能:在单次和批量解混淆应用中表现出色。
项目链接 https://crates.io/crates/undname
-- From 日报小组 🕯RustPlumber🕯
社区学习交流平台订阅:
Rust.cc 论坛: 支持 rss
微信公众号:Rust 语言中文社区
这篇关于【Rust日报】Brioche - 一个全新的包管理器和构建工具的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!