struct SemanticDirection;
fn main() {}
Run Code Online (Sandbox Code Playgroud)
warning: struct is never used: `SemanticDirection`
--> src/main.rs:1:1
|
1 | struct SemanticDirection;
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: #[warn(dead_code)] on by default
Run Code Online (Sandbox Code Playgroud)
我会将这些警告重新发送给任何严肃的事情,但我只是在修补这种语言而这正在驱使我蝙蝠.
我尝试添加#[allow(dead_code)]到我的代码,但这不起作用.
刚刚找到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 的新手,我刚刚通过cargo new my_project. 我注意到cargo 提供了这两个命令行选项:
我认为后者可用于编译我机器上的任何项目,而前者只能在当前工作目录中使用。那是对的吗?还有其他区别吗?不带附加参数运行这两个命令会给我完全相同的输出。
我觉得二进制可移植性并不是一个真正的问题,因此-march = native之类的东西可能始终是默认行为。我找不到任何一种说法。
由于LGPL 的工作原理,将 Rust 代码编译到目标文件而不进行链接将非常有用。但是,我找不到任何有关如何执行此操作的文档。我检查了 rustc 的帮助部分并进行了搜索,但找不到任何内容,这让我想到了我的问题:如何告诉 rustc 不要链接并生成稍后可以链接的目标文件?
如何通过命令行动态指定库的输出文件名?
# something like this
cargo build --output-file-name "my_lib.so" # or .*dylib
Run Code Online (Sandbox Code Playgroud)
通过 Cargo.toml 或 .cargo/config 进行操作对我来说不起作用。
有可能吗?
我正在尝试学习 Rust 编程语言。我发现大多数时候人们都在使用命令cargo,例如cargo new,,,等等。什么时候使用命令而不是?cargo addcargo buildcargo runrustccargo
根据这个答案,#[allow(dead_code)]应该可以,但不行
fn main() {
#[allow(dead_code)]
let x = 0;
}
Run Code Online (Sandbox Code Playgroud)