mirror of
https://github.com/ElliotKillick/windows-vs-linux-loader-architecture
synced 2026-06-08 10:57:32 +00:00
8f9257c1da
From June to now, most of my time on this project was spent writing "The Rise of Microsoft". Researching and writing that thing took an inordinate amount of time. Also, I took a break to work primarily on another unreleased project I have before switching back to this one. I am proud of what I got here though and I feel like it is all coming together. My plans for the whitepapers are already well drafted and I know they will make an impact. I have learned a ton from working on this project and it has definitely given me something to idly think about and work on in my spare time. Finishing "The Problem with How Windows Uses Threads" was something I thought I wanted done before this release, but oh well. The main README is at about 50K words now, plus all the other smaller documents and you are looking at about a small novel's worth of technical writing. And technical writing takes multiple times longer than typical story writing. Anyway, this project is exciting for me - people who I show it to also really like it - and I am even more excited about what is to come!
Code Samples
Compiling & Running
These instructions are for building and running the code samples in this repo:
- Compile
- Unix: Run
makewhere there is aMakefile - Windows: Run
build.batwhere this script exists - For cross-platform Rust:
cargo build
- Unix: Run
- Pre-execution
- Unix: Run
export LD_LIBRARY_PATH="$PWD"(set this varible to where the libraries are) so an application can its find libraries - Windows: This system searches the program folder and current working directory by default (copy or move files if necessary, e.g. with the
copy /ycommand) - For cross-platform Rust: Not necessary when using
cargohelpers
- Unix: Run
- Run
- Unix: Run
./<PROGRAM>orgdb ./<PROGRAM>to debug - Windows: Run
<PROGRAM_NAME>.exeor pop it into WinDbg to debug - For cross-platform Rust:
cargo run
- Unix: Run
The steps are intentionally designed to be as simple and easy as possible to remove friction from experimentation, even on Windows, thanks to the succinct build.bat helper files I made to achieve parity with Unix systems.