标签: rust-cargo

带有库和二进制文件的Rust包?

我想制作一个包含可重用库(实现大部分程序)的Rust包,以及使用它的可执行文件.

假设我没有混淆Rust模块系统中的任何语义,我的Cargo.toml文件应该是什么样的?

rust rust-cargo

132
推荐指数
4
解决办法
4万
查看次数

为什么Rust可执行文件如此庞大?

刚刚找到Rust并阅读了文档的前两章,我发现他们定义语言的方法和方式特别有趣.所以我决定让我的手指湿润,开始使用Hello world ...

我在Windows 7 x64上这样做了,顺便说一下.

fn main() {
    println!("Hello, world!");
}
Run Code Online (Sandbox Code Playgroud)

发行cargo build并查看结果targets\debug我发现所得.exe的存在3MB.经过一些搜索(很难找到货物命令行标志的文档......)我找到了--release选项并创建了发布版本.令我惊讶的是,.exe大小只变小了一小部分:2.99MB而不是3MB.

因此,承认我是Rust及其生态系统的新手,我的期望是系统编程语言会产生紧凑的东西.

任何人都可以详细说明Rust正在编译的内容,如何通过3个线程程序生成如此巨大的图像?它是否正在编译为虚拟机?我错过了一个strip命令(在发布版本中调试信息吗?)?还有什么可能让我们了解正在发生的事情?

rust rust-cargo

128
推荐指数
5
解决办法
2万
查看次数

Rust程序如何从其Cargo包中访问元数据?

如何从包中的Rust代码访问Cargo包的元数据(例如版本)?在我的情况下,我正在构建一个命令行工具,我希望有一个标准的--version标志,我希望实现读取包的版本,Cargo.toml所以我不必在两个地方维护它.我可以想象还有其他人可能想要从程序中访问Cargo元数据.

rust rust-cargo

123
推荐指数
3
解决办法
1万
查看次数

如何使用Cargo构建多个二进制文件?

我想用a daemon和a 创建一个项目client,通过unix socket连接.

A client和a daemon需要两个二进制文件,那么如何判断Cargo从两个不同的源构建两个目标?

为了增加一些幻想,我希望有一个library主要部分daemon,并且只需要一个二进制文件来包裹它并通过套接字进行通信.

所以,我们有这种树架构:

??? Cargo.toml
??? target
|   ??? debug
|       ??? daemon
?       ??? client
??? src
    ??? daemon
    ?   ??? bin
    ?   ?   ??? main.rs
    ?   ??? lib
    ?       ??? lib.rs
    ??? client
        ??? bin
            ??? main.rs
Run Code Online (Sandbox Code Playgroud)

我可以制作一个管理这两个问题的可执行文件,但这不是我想要做的,除非这是非常好的做法.

rust rust-cargo

58
推荐指数
2
解决办法
1万
查看次数

什么是crate属性,我在哪里添加它?

为了了解Rust的工作原理,我决定查看一个名为Iota的基于终端的文本编辑器.我克隆了存储库并且cargo build只是被告知:

error: *if let* syntax is experimental

help: add #![feature(if_let)] to the crate attributes to enable
Run Code Online (Sandbox Code Playgroud)

我应该在哪里添加#![feature(if_let)]到箱子属性?

rust rust-cargo

57
推荐指数
1
解决办法
1万
查看次数

货物安装是否具有等效的更新命令?

我想更新我用于cargo install全局安装软件包的软件包,例如rustfmt或racer.我没有找到更新已安装软件包的方法,而不先删除它(通过cargo uninstall),然后再次运行install命令.有更新命令吗?

rust rust-cargo

57
推荐指数
5
解决办法
1万
查看次数

如何定义仅测试依赖项?

我有一个实现lint插件的Rust库.我想包括compiletest,但不要求在测试之外.指定依赖项仅用于测试的正确方法是什么?

rust rust-cargo

48
推荐指数
1
解决办法
5451
查看次数

如何在vscode中保存时运行cargo fmt?

是否可以使 Visual Studio Codecargo fmt在文件保存时运行?

rust rust-cargo visual-studio-code

37
推荐指数
5
解决办法
3万
查看次数

使用货物时如何使用调试信息获取发布版本?

以下命令

$ cargo build
Run Code Online (Sandbox Code Playgroud)

生成带有调试信息的非优化构建.反之,

$ cargo build --release
Run Code Online (Sandbox Code Playgroud)

生成优化的构建,无需调试信息.

有没有办法调试信息生成优化的构建?我需要这个来获得有意义的分析信息.

rust rust-cargo

34
推荐指数
2
解决办法
1万
查看次数

即使使用brew 安装后,rustup 也会在 zsh 中给出命令未找到错误

我用brew命令安装了rustup,但仍然说找不到rustup命令。我不确定我是否缺少任何安装步骤。任何帮助,将不胜感激。

rust rust-cargo rustup

34
推荐指数
5
解决办法
4万
查看次数

标签 统计

rust ×10

rust-cargo ×10

rustup ×1

visual-studio-code ×1