# getting_rusty - Original Repo: https://github.com/rarmknecht/getting_rusty - Rust Lang Book: https://doc.rust-lang.org/stable/book/ - Journey Began: 2021 May 9th ## 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 ` 3. Add (if not already installed) the cross package `> cargo install cross` 4. Cross Build the project `> ~/.cargo/bin/cross build --target `