项目创建
我们可以使用cargo new hello来创建一个hello项目,如下:
$ cargo new hello
Created binary (application) `hello` package
$
使用idea打开该项目(idea运行rust需要安装rust插件,这里不再详述),可以看到如下目录结构:
其中Cargo.toml描述了项目的相关信息,Cargo.lock用于管理项目的依赖关系,这两个文件我们暂时不用关注。我们主要看src/main.rs文件,这是我们实际写代码的地方。
编译运行
打开main.rs文件,发现cargo自动生成的内容如下:
fn main() {
println!("Hello, world!");
}
我们可以使用cargo build命令对代码进行编译,如下:
$ cargo build
Compiling hello v0.1.0 (~/IdeaProjects/hello)
Finished dev [unoptimized + debuginfo] target(s) in 0.83s
在项目下就会生成一个target目录,如下:
并且我们可以看到target/debug目录下生成了一个名为hello的二进制文件:
我们可以直接执行这个文件,如下:
$ target/debug/hello
Hello, world!
至此,我们就成功完成了编译运行,开心鼓掌~
当然了,我们也可以用更简单的方式,就是用idea自己的运行功能来运行代码。idea会自动帮我们执行上面的那些命令来完成代码的编译与运行。
idea使用的命令是cargo run,这个命令是cargo build和运行二进制文件的结合体。
release版本编译
注意到我们上面执行cargo build的时候,打出了这样一个信息:
[unoptimized + debuginfo] targets
这个表示的是这个编译是未经过优化的,携带了很多debug信息,运行起来会慢点,我们可以选择进行优化版本的编译,就是正式发布版本的编译,可以在cargo build之后加上--release来实现这个功能,如下:
$ cargo build --release
Compiling hello v0.1.0 (~/IdeaProjects/hello)
Finished release [optimized] target(s) in 0.61s
可以看到那个信息变成了[optimized]。同时呢,在target目录下,我们会发现多了一个release目录:
同样,我们运行target/release/hello,会看到结果正常输出:
$ target/release/hello
Hello, world!
好了,关于rust hello-world项目创建与编译运行的分享到这。
如果对rust感兴趣的话,想要一起学习的话,别忘记收藏、关注、转发哦,也可以随时留言评论提问,大家一起交流进步,谢谢~