第一个Rust程序

Hello,world

一位程序员对书法十分感兴趣,退休后决定在这方面有所建树。于是花重金购买了上等的文房四宝。一日,饭后突生雅兴,一番磨墨拟纸,并点上了上好的檀香,颇有王羲之风范,又具颜真卿气势,定神片刻,泼墨挥毫郑重地写下一行字:
hello world!

我们现在也写下第一个“Hello, world"程序。
首先创建好Rust项目文件夹路径:

$ mkdir -p ~/rust/projects/hello_world

注意Rust世界风格是“aaa_bbb”风格,单词小写,中间使用下划线相隔。
进入到hello_wolrd文件夹,创建一个main.rs源文件,文件内容如下:

fn main() {
    println!("Hello, world!");
}

语法格式目前貌似还不算太难懂,fn表示类型为一个函数,main表示主函数入口,()内没有参数说明不需要入参。
println!不是一个函数,"!"符号表示这是一个Rust宏。如果把感叹号去除掉,println是一个函数。
println!宏的入参是一个字符串"Hello, wolrd!",表明将会在终端打印出这个字符串。
定义函数没有返回值,因此这里也没有返回值出去。
Rust是编译运行式的语言,不是解释型语言。我们需要把main.rs编译为可执行文件

$ rustc main.rs

原本我以为会即刻返回出结果,结果竟然卡顿了一下,那一刹那让我以为rustc无响应了,好在它还是正常完成了编译工作(可能是我初次执行rustc,有一部分初始化工作需要完成。后面再执行rustc main.rs命命令立刻就返回了),文件夹下多出来了main文件。

$ ls
main  main.rs

执行./main

$ ./main 
Hello, world!

奇怪的是main文件的大小竟然达到了2.4M!

$ ls -lh 
总用量 2.4M
-rwxr-xr-x 1 2.4M 7月  26 23:53 main
-rw-r--r-- 1   45 7月  26 23:26 main.rs

我又写了一个C版本的,相比之下C版本的main可执行文件只有8.2K。编译时增加-g选项后达到11K,也是远远小于rust版本的2.4M。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容