准备工作

Rust是系统编程语言,会经过传统的编译、链接、生成可执行文件等过程。它依赖c/cpp的编译环境,需要提前安装c/cpp开发环境,比如安装gcc及其依赖等。

安装(macOS / Linux)

下载并安装rustup工具,它会安装最新稳定版Rust。

curl https://sh.rustup.rs -sSf | sh

环境变量

如果rustup没有正确配置环境变量,可以手动添加环境变量

source $HOME/.cargo/env

或者 在 相关的bash_profile里加入

export PATH="$HOME/.cargo/bin:$PATH"

代码编写 main.rs

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

编译

rustc main.rs

说明

和传统的编程语言很像,如c、c++、go等

rust需要经过编译才能执行,它没有依赖vm。

Cargo

Rust的包管理和构建工具。

创建一个Rust工程

cargo new hello

用cargo命令生成一个项目,项目包含配置和代码

配置文件 Cargo.toml

[package]
name = "hello"
version = "0.1.0"
authors = ["xxxx<xxxx@xxxmail.com>"]
edition = "2018" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies]

package节点下是当前包/项目的配置,

  • 项目的名称
  • 版本
  • 作者
  • Rust 版本

dependencies节点下是需要依赖的其他包

源代码src目录

该目录下是源代码目录。

其中main.rs为主程序入口

构建

在项目根目录下执行以下命令,完成整个项目的构建

cargo build

执行成功后会生成 target/debug目录,目录下为编译后的产出,其中hello为编译后的可执行文件

运行

cargo run

以上命令会按需构建项目,并启动可执行程序

检查

cargo check

以上命令可以只检查代码是否能编译通过,不产出编译结果文件。速度较快。

release

cargo build --release

用--release参数可以生成优化后的编译结果,用于生产环境。编译速度会变慢

常用套路

拉取别人的代码,构建

git clone someurl.com/someproject
cd someproject
cargo build

最新文章

  1. LVM基本介绍与常用命令
  2. Hbuilder快捷键
  3. Java并发之Condition 并发同步控制
  4. css3 transition的各种ease效果
  5. 修改mysql默认字符集的方法
  6. 返回顶部 和ico标题图片的制作
  7. Finger Gestures 3.1
  8. 【RoR win32】新rails运行后0.0.0.0:3000不能访问
  9. (转载)linux下tar.gz、tar、bz2、zip等解压缩、压缩命令小结
  10. [待续]Async in C# 1
  11. Elkstack2.0部署
  12. Linux简介与厂商版本上
  13. 本地IIS
  14. [NOIp 2009]靶形数独
  15. 让一个数组中存在N多个函数。让每个函数执行的 时候自动加1
  16. __x__(34)0908第五天__ 定位 position
  17. Share Today
  18. WebStorm破解方法
  19. git Push failed: Could not read from remote repository 解决方案
  20. excel将内容粘贴到筛选后的可见单元格

热门文章

  1. MongoDB 官方文档中的 aggregate 例子当中的 $sum: 1 , 这里的 1 起什么作用?
  2. 填充区域 (Populating an Area) | 使用区域 | 高级路由特性 | 精通ASP-NET-MVC-5-弗瑞曼
  3. Chrome浏览器所有页面全部崩溃解决办法。
  4. OpenCV各种绘制调用:线,矩形,圆,椭圆,文字
  5. tomcat性能优化梳理
  6. H5 + WebGL 展示的3D无人机
  7. STM8 关闭PWM输出后的电平输出问题解决
  8. Docker基础内容之镜像构建
  9. Ubuntu通过终端命令行换阿里源
  10. 线程安全之 synchronized 和 ReentrantLock