当前位置: 首页 > article >正文

1小时放弃Rust(1): Hello-World

1. 目的

最近被公司项目的 crash 问题折磨, 一方面是crash位置不固定,难以复现;另一方面是代码、sdk、人员众多,我拿不到所有代码。排查效率非常低效,各种会议满天飞,问题实质毫无进展。希望在达到被辞退的节点前学会 Rust,写一些不可能存在内存踩踏问题的 sdk,拯救自己。

2. 安装 Rust

https://www.rust-lang.org/learn/get-started

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

3. 更新 Rust

rustup update

4. 创建 Hello-World 工程

mkdir -p ~/play/rust
cd $_
cargo new hello-world

5. 编译和运行

cd hello-world
cargo build
cargo run

6. 目录结构

刚执行 cargo new hello-world 时,文件和目录结构为:

➜  hello-world git:(main) ✗ tree -L 3
.
├── Cargo.lock
├── Cargo.toml
└── src
    └── main.rs

2 directories, 3 files

也可以 cargo clean 来恢复。

7. main.rs

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

解释:

  • fn: Rust 语言中的关键字。function 的意思
  • main(): 入口函数
  • println!: 宏. 暂时不理解,当做函数使用;会自动添加换行符的打印.

8. Cargo.toml

[package]
name = "hello-world"
version = "0.1.0"
edition = "2021"

[dependencies]

完全看不懂。 忽略。

9. Cargo run 在运行什么

cargo run
./target/debug/hello-world

10. 不用 cargo 呢?

hello.rs:

fn main()
{
    println!("Hello, Rust");
    println!("What a day!");
}

编译:

rustc hello.rs

运行:

./hello

结果:

Hello, Rust
What a day!

11. 总结

给出了 Rust 的安装,以及创建、运行、简单理解 hello-world 工程的步骤。

12. 参考

  • https://www.rust-lang.org/learn/get-started
  • https://blog.csdn.net/weixin_50964512/article/details/130138973

http://www.kler.cn/a/450483.html

相关文章:

  • es 3期 第18节-分页查询使用避坑的一些事
  • openjdk17 从C++视角看 String的intern的jni方法JVM_InternString方法被gcc编译器连接
  • mysql数据库面试核心概念
  • windows11家庭版安装docker无法识别基于wsl2的Ubuntu
  • R语言数据分析案例46-不同区域教育情况回归分析和探索
  • CPU算法分析LiteAIServer裸土检测算法如何应用在农田科学管理中?
  • *【每日一题 基础题】 [蓝桥杯 2024 省 B] 好数
  • 逻辑的诗:类与对象(下)
  • JavaWeb(一) | 基本概念(web服务器、Tomcat、HTTP、Maven)、Servlet 简介
  • Hydra配置文件的书写语法
  • Ruby+Selenium教程
  • 今天最新早上好问候语精选大全,每天问候,相互牵挂,彼此祝福
  • 预约参观华为基地,见证行业巅峰
  • Jmeter分布式压力测试
  • 7-4 字符串的冒泡排序
  • VMware vCenter保姆级安装部署(VMware VCenter Nanny Level Installation and Deployment)
  • Mac的M2芯片运行lightgbm报错,其他python包可用,x86_x64架构运行
  • 如何绘制网络拓扑图?附详细分类解说和用户案例!
  • 中间件xxl-job安装
  • JSON 系列之1:将 JSON 数据存储在 Oracle 数据库中
  • llama.cpp:PC端测试 MobileVLM -- 电脑端部署图生文大模型
  • 电商系统-产品经理
  • 【动手学轨迹预测】2.3 场景表征方法
  • 网页生成鸿蒙App
  • 深入解读数据资产化实践指南(2024年)
  • 工具学习_firmware mod kit