Files
getting_rusty/README.md
2025-12-19 23:39:55 -06:00

2.1 KiB

getting_rusty

Purpose

This repo is to hold code and exercises as I journey through The Rust Programming Language book.

Status

Chapter Status Date Notes
01 Getting Started Complete 2021 May 09 Intro to Cargo
02 Guessing Game Complete 2021 May 09 First Program
03 Common Concepts Complete 2021 May 09 First "Homework"
04 Understanding Ownership Complete 2021 May 10 -
05 Structs Complete 2021 May 10 Rectangles
06 Enums & Patterns - - -
07 Packages, Crates, Modules - - -
08 Common Collections - - -
09 Error Handling - - -
10 Generics - - -
11 Automated Tests - - -
12 An I/O Project - - -
13 Functional Features - - -
14 Cargo and Crates.io - - -
15 Smart Pointers - - -
16 Fearless Concurrency - - -
17 OOP Features - - -
18 Patterns & Matching - - -
19 Advanced Features - - -
20 Project: Web Server - - -

History of Travels

2021 May 09

Began the journey after a news headline informed me that the Windows API was now rust accessible. https://blogs.windows.com/windowsdeveloper/2021/05/06/announcing-rust-for-windows-v0-9/

This triggered me to watch a few rust videos on youtube, and even read a rust book on "Kindle Unlimited". These left me intrigued and thinking it'd be fun to update my media pipeline with some rust tooling.

Starting the journey on my Arch Linux system despite the lead-in with the windows announcement.

Cross Compilation

Today I learned how to do cross compilation, which is super nice since my use cases find me potentially wanting to execute my code on either x64 linux, armv7, or windows.

  1. List targets with:

    > rustc --print target-list

  2. Add the desired target

    > rustup target add <target_name>

  3. Add (if not already installed) the cross package

    > cargo install cross

  4. Cross Build the project

    > ~/.cargo/bin/cross build --target <target_name>