is presently its sole maintainer,
You can support him:
News - You can get Visual Studio Community Edition for free (better than express)
VS tip - can load the last thing you had open when you start it next time.
Recap on functions
The story of OutputDebugStringA (it all started with ASCII)
Encodings: numbers that mean something more
VS: Finding the debug windows
The Watch window
See? Letters are numbers!
Escape sequences (\n and friends)
Bases can trip you up
Back to escape sequences
Note: must type \\ to get real \'s
Platform newline niceties
What to do if VS crashes (like it just did)
Windows vs. Linux vs. Mac OS newlines
Back to OutputDebugStringA
ASCII to Unicode
The consequences of that move: C Error Messages
A glimpse into the seedy Macro underbelly of the Win32 API
Note: Unicode is default in VS
Let's talk about variables
Which means we should talk about CPUs and memory
Asking for memory (declaring vars)
Neat learning anecdote (what does = mean?)
What is a variable *really*? (Let's 'watch' it)
Uninitialized memory can be anything
Debug 'Stepping' (running a program line by line)
Programming doesn't have to be math-y (int x = 5; covers a lot)
Different types of numbers in C (char, short, int, signed-ness)
A bit of binary o.o
char == 8 bits
How can you tell how much you can hold with 8 bits?
The rest of the int family (short, int)
VS tip: F5 to start debug, Shift-F5 to stop
Math consequences of number size limits (overflows)
Okay. What is *actually* happening when we run programs?
The registers window
What registers are
The MOV instruction
VS Tip: hover over hex in assembly to see its decimal value
Watching the assembly work in the watch window
The size of eax vs. the size of a char
The moral: The Asm matches the C. You can read this.
The moral: How things really work is worth knowing.