65 lines
2.1 KiB
Markdown
65 lines
2.1 KiB
Markdown
# 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| - | - | - |
|
|
<br/>
|
|
|
|
## 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>` |