首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Rust crate与模块

8.1 crate Rust 程序由 crate(板条箱)组成。每个 crate 都是既完整又内聚的单元,包括单个库或可执行程序的所有源代码,以及任何相关的测试、示例、工具、配置和其他杂项。...Rust 承诺编译器将始终接受该语言的所有现存版本,并且程序可以自由混用以不同版本编写的 crate。2015 版的 crate 甚至可以依赖 2021 版的 crate。...如果把一个函数标记为 pub(crate),那么就意味着它可以在这个 crate 中的任何地方使用,但不会作为外部接口的一部分公开。...它不能被其他 crate 使用,也不会出现在这个 crate 的文档中。...关键字 super 和 crate 在路径中有着特殊的含义:super 指的是父模块,crate 指的是当前模块所在的 crate。

23310
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Rust 纪元第 382 周最佳 crate:ibig 的实践,以及和 num crate 的比较

    Rust 纪元第 382 周,评出的周最佳 crate 是大数计算相关的 ibig。目前在 github 星星数量不足 50,还处于开发初期。...虽然以前的 Rust 开发中,大数计算方面使用的是 num crate 的 BigInt 和 BigUint,完全满足需求。但是查阅到 ibig 提供的基准测试,性能挺不错。...所以本文结合目前使用较广的大数计算 crate num,采用 2 种阶乘的不同实现方式,进行实践。尝试一下,看是否进行 crate 替换。 大数计算的概念,就不赘述。...我们设想一个 1000000000 甚至更大的阶乘,不使用大数计算相关 crate,显然是跑不起来的。下面,我们使用 num 和 ibig 进行测试和比较。...所以,目前所使用的 crate num 暂时还是不考虑替换了。

    42410

    【Rust学习】13_package 和 crate

    crate 可以包含模块,并且这些模块可以使用 crate 编译的其他文件中定义,正如我们将在接下来的部分中看到的那样。crate 可以有两种形式:二进制 crate 或库 crate。...到目前为止,我们创建的所有 crate 都是二进制 crate。库 crate 没有 main 函数,它们不会编译为可执行文件。相反,它们定义了要与多个项目共享的功能。...例如,我们在猜谜游戏中使用的 rand crate 提供了生成随机数的功能。crate 根是 Rust 编译器从源文件开始,并构成了 crate 的根模块。...Cargo 实际上是一个包,其中包含您用于构建代码的命令行工具的二进制 crate。Cargo 包还包含二进制 crate 所依赖的库 crate。...一个包必须至少包含一个 crate,无论是库crate还是二进制 crate。让我们来看看创建 package 时会发生什么。

    8510

    【投稿】如何制作一个*-sys的crate

    而添加更加 high-level、更加 Rust 友好的接口则由 sys crate 的更高一级,wrapper crate 来做。...最好把你的 crate 名称包含 warning 和 error 中,因为你的 crate 最终很可能被淹没在别人项目中的几层依赖之下。...在外部测试(tests/ 目录)和其他 crate 中,请确保通过 extern crate _sys; 引用。...如果你想让 crate 更易于使用,最好再出点力做第二个 crate,封装一些 higher-level 接口。 巴士指数 1 没人指望你能7x24(永远)地支持你的 crate。...当你把 crate 发布到 crate.io 后,可以要考虑邀请谁来作为 crate 的共同所有者。在 crate 的页面添加“管理所有者”,或者你可以添加你的 GitHub 团队。

    1.4K40
    领券