安装rust
rust 安装官方指南:[HTPS][3W].rust-lang.org/tools/install (自己替换 HTPS,3W)
Linux或者Macbook上安装rust
打开终端并输入下面命令:
#因审核问题下面链接需要替换一下 HTPS->httpscurl --tlsv1.2 [HTPS]://sh.rustup.rs -sSf | sh
这个命令将下载一个脚本并开始安装 rustup 工具,此工具将安装 Rust 的最新稳定版本。可能会提示你输入管理员密码。
过程中,会让您选择工具链,直接回车按默认(或者推荐)的即可。
如果安装成功,将出现下面这行:
Rust is installed now. Great!
OK,这样就已经完成 Rust 安装啦。
注意:
rust 编译通常依赖于C/C++,因此通常需要配套安装C/C++的编译工具(gcc 或者 Clang)。
Mackbook 上可以通过下面指令安装:
xcode-select --install
Linux上,应根据相应发行版的包管理工具,来独立安装Clang或者gcc,也可以安装对应的编译套件。
如果你使用 Ubuntu,则可安装
sudo apt-get install build-essential
如果你使用Centos,则可以安装
sudo yum install build-essential
Windows上安装rust
Windows 上安装 Rust 需要有 C++ 环境,这个是必须的。
第一步,下载visualstudio
[HTPS]visualstudio.microsoft.com/zh-hans/downloads/ (自己替换HTPS)
下载社区免费版就可以
第二步,安装visualstudio
在visualstudio安装配置页面,组件选择可以选择C++桌面开发,并且在安装详细中可选windosX SDK,然后点击“安装”
安装会持续一段时间,中途会下载一些组件,耐心等待!
安装完成后,会提示重启,直接重启!
第三步,下载安装rustup-init
下载:[HTPS] [3W].rust-lang.org/learn/get-started (自己替换HTPS,3W)
根据自身电脑选择32 位或者64位安装软件。
运行rustup-init会打开一个安装终端
过程中需要选择安装模式,选择默认安装即可(输入1)。
安装过程也会持续一段时间,需要下载组件和编译工具链,请耐心等待。
如果下载过程中,出现了网络问题,导致组件下载失败,可以重新执行安装。
安装成功,会看到 “Rust is installed now. Great!”
完成后,打开终端(推荐用git bash),输入cargo -V, rustc -V 如果都能正常输入,则安装成功。
安装配置vscode
开发rust,目前推荐IDE用vscode。
注意,天翼云 云电脑上默认安装的vscode 是1.7x版本,实测无法安装rust插件,建议升级到最新(1.8x)。
通过网关下载vscode最新稳定版:[HTPS]code.visualstudio.com/ (自己替换HTPS)
在windows版本下载处,有user-installer 和 system-installer,区别是user只适用于当前用户,而system适用于所有用户,并且提供在线升级等功能。可以选择system-installer。
安装完成后,打开vscode,安装rust语言插件
常用的就是rust 和rust-analyzer插件,安装后,可以在vscode 帮助语法联想,显示编译错误,显示提示,显示版本依赖等,对初学者比较友好。
至此,rust 开发环境基本就搭建完成了,可以起一个HelloWorld工程验证!
HelloWorld
打开终端,在目标工程目录下,用cargo new 创建一个新的rust 项目
cargo new helloworld
此时,就会在其目录中创建一个helloworld。
cd 到 helloworld, 可查看到工程中包括一个src目录和Cargo.toml
其中,Cargo.toml 是该工程的配置文件(可以配置包名称,版本,cargo版本,项目依赖,编译配置等等),而src是该工程源码目录。
在项目路径下,执行
cargo run
可以执行运行该项目。
注意,cargo run 实际上执行了build,然后在执行可执行程序。
当然,您也可以 使用 cargo build 编译只编译工程而不运行。默认情况下,cargo build 是以debug 模式编译工程,生成的产物和中级文件均放置于 target/debug路径下。如果您需要编译release 版本,那么可以使用 cargo build --release(对应的,产出物在target/release路径下)。
注:rust 编译器很强大,rust很多特性的实现都是依托于编译器。比如,rust的零成本抽象,本质上是在编译阶段进行的替换、自动代码生成、优化;让编译器帮忙做了哪些重复的劳动。因此,rust的编译相对于golang 是比较慢的;并且debug 和release的优化程度,也是有比较大的差异(甚至一些特性处理上都是有差异的),编译速度也相差较大。通常,在开发阶段选择使用debug编译,而正式发布时,选择relase编译。