RISC-V on Rust 从零开始(2) - 建立档案架构

基本的安装以及相关资源已经整理在上篇文章:

RISC-V on Rust 从零开始(1) - 安装 Rust 环境

材料已经备齐,该是动工的时候,Rust许多语法都是借镜C/C++而来,上手不算太难,写扣中途遇到问题再回去查文件就好,且战且走。首先利用cargo建立最基本的程序架构:

cargo new rv-sim

cargo是Rust的建置工具,与cmake等工具类似,只是有许多针对Rust特化的功能,例如dependency的管理等。cargo会建立rv-sim资料夹,并且自动生成最基本的档案。进入rv-sim资料夹:

cd rv-sim
ls

可以看到以下的目录结构:

rv-sim/
├── Cargo.toml
└── src/
    └── main.rs

Carto.toml 包含了版号、dependency等资讯,通常在引用外部library时才会修改,src底下则是所有的程序码,目前只有main.rs这个档案,其预设内容如下:

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

这是一个Rust版的Hello World,从这段code可以观察到几个特点:

  1. 入口点为 main 函式,与 C/C++ 相同
  2. 以 fn 关键字定义 function
  3. 以大括号作为函式定义的范围,与 C/C++ 相同
  4. 内建println!函式可以输出至stdout
  5. 叙述式以分号做结尾,与 C/C++ 相同
  6. 字串常数以双括号定义,与 C/C++ 相同
    熟悉 C/C++ 语法的话会发现 Rust 许多语法都是相同的,因此要上手 Rust 并不难。

有了基本的档案架构後可以用cargo建置并且执行程序:

cd rv-sim
cargo run

就可以看到以下输出:

   Compiling rv-sim v0.1.0 (/mnt/c/Users/jc/Desktop/rv-sim)
    Finished dev [unoptimized + debuginfo] target(s) in 4.57s
     Running `target/debug/rv-sim`
Hello, world!

完成!


<<:  战略层次(Levels of Strategy)

>>:  RISC-V on Rust 从零开始(3) - RISC-V 核心基本资料结构

Python 学习笔记_装饰器(decorator) 与重试(retry)

这篇文章主要是在纪录 python decorator 的学习过程, 有错或是更好的写法的话,欢迎留...

Day28 Session 的使用-1

Session的使用方法 Session的操作跟数组的操作时一样。 在页面中如果使用Session,...

Day15 - 产品编辑 modal 还丑但功能 OK 了

<template> <!-- Button trigger modal --&...

Day20 - 更新推文及冲突

今天来做更新推文的部分。 更新的部分实作上并没有太困难的地方,主要是处理冲突比较麻烦。 更新推文 更...

[PoEAA] Domain Logic Pattern - Service Layer

本篇同步发布於个人Blog: [PoEAA] Domain Logic Pattern - Serv...