Required tools for playing around with memory:
hexdump
objdump
readelf
xxd
gcore
LVM on LUKS Arch installation with systemd-boot
Sources:
Note: If you want a simpler encryption setup (with LUKS only), you can instead use the archinstall "guided" installer included with Arch since April 2021.
use std::io; | |
use std::str; | |
use std::error::Error; | |
use std::io::{Read, Write}; | |
use std::net::TcpStream; | |
#[allow(unused_variables)] | |
pub trait Events { | |
fn on_connect(&self, host: &str, port: i32) {} | |
fn on_error(&self, err: &str) {} |
That’s right. I’m making this statement. This little write-up is an attempt at explaining how any why everything in the c programming language is actually just a pointer. This is simply an attempt at explaining how memory in the computer is arranged in a narrowed view and my real goal is to consider the most simple examples possible.
I will be focusing on x86 specifically.
I would feel pretty confident that you, by now, understand that the types in c are simply identifiers in how much space is used to represent a number. I have no interest in explaining the difference between signed vs unsigned integers. Nor am I going to explain how floating point numbers are represented. If you are interested in those things take a look at these two links. C data types and [[https://en.wikipedia.org/wiki/Floating-point_ari