天天看点

rust hello-world项目创建与编译运行

作者:经济学人v

项目创建

我们可以使用cargo new hello来创建一个hello项目,如下:

$ cargo new hello
Created binary (application) `hello` package
$            
rust hello-world项目创建与编译运行

使用idea打开该项目(idea运行rust需要安装rust插件,这里不再详述),可以看到如下目录结构:

rust hello-world项目创建与编译运行

其中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目录,如下:

rust hello-world项目创建与编译运行

并且我们可以看到target/debug目录下生成了一个名为hello的二进制文件:

rust hello-world项目创建与编译运行

我们可以直接执行这个文件,如下:

$ target/debug/hello
Hello, world!           

至此,我们就成功完成了编译运行,开心鼓掌~

rust hello-world项目创建与编译运行

当然了,我们也可以用更简单的方式,就是用idea自己的运行功能来运行代码。idea会自动帮我们执行上面的那些命令来完成代码的编译与运行。

rust hello-world项目创建与编译运行

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目录:

rust hello-world项目创建与编译运行

同样,我们运行target/release/hello,会看到结果正常输出:

$ target/release/hello
Hello, world!           

好了,关于rust hello-world项目创建与编译运行的分享到这。

如果对rust感兴趣的话,想要一起学习的话,别忘记收藏、关注、转发哦,也可以随时留言评论提问,大家一起交流进步,谢谢~