Questions tagged «rust-cargo»

4
带有库和二进制文件的Rust包?
我想制作一个Rust包,其中包含一个可重用的库(在其中实现了大多数程序),以及一个使用它的可执行文件。 假设我在Rust模块系统中没有混淆任何语义,那么我的Cargo.toml文件应该是什么样?
186 rust  rust-cargo 

5
为什么Rust可执行文件如此庞大?
刚找到Rust并阅读了文档的前两章后,我发现他们定义语言的方法和方式特别有趣。所以我决定弄湿我的手指,然后开始使用Hello world ... 我是在Windows 7 x64,btw上执行的。 fn main() { println!("Hello, world!"); } 发出cargo build并查看结果后,targets\debug我发现结果.exe为3MB。经过一些搜索(很难找到货运命令行标志的文档...),我找到了--release选项并创建了发布版本。令我惊讶的是,.exe的大小仅变小了一点:2.99MB而不是3MB。 因此,承认我是Rust及其生态系统的新手,我期望系统编程语言会产生紧凑的东西。 谁能详细说明Rust编译的内容,如何通过3线性程序生成如此大的图像?它可以编译到虚拟机吗?我是否错过了一个剥离命令(在发行版内部调试信息?)?还有什么可能让您了解正在发生的事情吗?
153 rust  rust-cargo 

2
Rust程序如何从其Cargo包中访问元数据?
如何从包装中的Rust代码访问货运包装的元数据(例如版本)?就我而言,我正在构建一个命令行工具,我希望它具有一个标准--version标志,并且我希望实现能够从中读取软件包的版本,Cargo.toml因此我不必在两个地方进行维护。我可以想象还有其他原因,可能有人也希望从该程序访问Cargo元数据。
150 rust  rust-cargo 

3
如何使用Cargo构建多个二进制文件?
我想用adaemon和a创建一个项目,并client通过unix套接字进行连接。 Aclient和Adaemon需要两个二进制文件,那么如何告诉我Cargo从两个不同的来源构建两个目标? 为了增加一点幻想,我想library对的主要部分使用daemon,并且只用二进制文件包装它并通过套接字进行通信。 因此,我们有这种树结构: ├── Cargo.toml ├── target | └── debug | ├── daemon │ └── client └── src ├── daemon │ ├── bin │ │ └── main.rs │ └── lib │ └── lib.rs └── client └── bin └── main.rs 我可以使一个可执行文件同时解决这两个问题,但这不是我想做的,除非这是一种很好的做法。
104 rust  rust-cargo 

1
什么是板条箱属性,应在何处添加?
为了了解Rust的工作原理,我决定看一个名为Iota的基于终端的小型文本编辑器。我克隆了存储库,然后cargo build被告知: error: *if let* syntax is experimental help: add #![feature(if_let)] to the crate attributes to enable 我应该在哪里添加#![feature(if_let)]到板条箱属性?
78 rust  rust-cargo 

1
我可以只为我的代码添加调试信息而没有包吗?
包含调试信息,我的二进制文件大约变为400 MB。发生这种情况是因为Rust包含所有依赖项的调试信息。有什么办法只为我的代码包括调试信息吗? [package] name = "app" version = "0.7.1" edition = "2018" [dependencies] actix = "*" actix-web = {version = "1.0", features = ["ssl"]} ... tokio-core = "*" tokio = "*" [profile.release] debug = true
11 rust  rust-cargo 

1
如何启用Rust的“板条箱功能”?
我正在尝试使用rand::SmallRng。该文件说 此PRNG具有特征门控:要使用,必须启用crate功能small_rng。 我一直在搜索,但不知道如何启用“板条箱功能”。这个词甚至在Rust文档中的任何地方都没有使用。这是我能想到的最好的方法: [features] default = ["small_rng"] 但是我得到: 功能default包括small_rng既不是依赖项也不是其他功能 文档是否错误,或者我缺少什么?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.