Handmade Hero»Episode Guide
Intro to C on Windows - Day 2
?
?

Keyboard Navigation

Global Keys

[, < / ], > Jump to previous / next episode
W, K, P / S, J, N Jump to previous / next marker
t / T Toggle theatre / SUPERtheatre mode
V Revert filter to original state Y Select link (requires manual Ctrl-c)

Menu toggling

q Quotes r References f Filter y Link c Credits

In-Menu Movement

a
w
s
d
h j k l


Quotes and References Menus

Enter Jump to timecode

Quotes, References and Credits Menus

o Open URL (in new tab)

Filter Menu

x, Space Toggle category and focus next
X, ShiftSpace Toggle category and focus previous
v Invert topics / media as per focus

Filter and Link Menus

z Toggle filter / linking mode

Credits Menu

Enter Open URL (in new tab)
0:05News - You can get Visual Studio Community Edition for free (better than express)
0:05News - You can get Visual Studio Community Edition for free (better than express)
0:05News - You can get Visual Studio Community Edition for free (better than express)
2:35VS tip - can load the last thing you had open when you start it next time
2:35VS tip - can load the last thing you had open when you start it next time
2:35VS tip - can load the last thing you had open when you start it next time
3:00Recap on functions
3:00Recap on functions
3:00Recap on functions
4:00The story of OutputDebugStringA (it all started with ASCII)
4:00The story of OutputDebugStringA (it all started with ASCII)
4:00The story of OutputDebugStringA (it all started with ASCII)
6:53Encodings: numbers that mean something more
6:53Encodings: numbers that mean something more
6:53Encodings: numbers that mean something more
8:11The Debugger
8:11The Debugger
8:11The Debugger
9:15Breakpoints
9:15Breakpoints
9:15Breakpoints
10:38VS: Finding the debug windows
10:38VS: Finding the debug windows
10:38VS: Finding the debug windows
11:25The Watch window
11:25The Watch window
11:25The Watch window
13:37See? Letters are numbers!
13:37See? Letters are numbers!
13:37See? Letters are numbers!
14:35Escape sequences (\n and friends)
14:35Escape sequences (\n and friends)
14:35Escape sequences (\n and friends)
17:40Bases can trip you up
17:40Bases can trip you up
17:40Bases can trip you up
19:20Back to escape sequences
19:20Back to escape sequences
19:20Back to escape sequences
20:53Note: must type \\ to get real \'s
20:53Note: must type \\ to get real \'s
20:53Note: must type \\ to get real \'s
22:10Platform newline niceties
22:10Platform newline niceties
22:10Platform newline niceties
23:55What to do if VS crashes (like it just did)
23:55What to do if VS crashes (like it just did)
23:55What to do if VS crashes (like it just did)
25:22Windows vs. Linux vs. Mac OS newlines
25:22Windows vs. Linux vs. Mac OS newlines
25:22Windows vs. Linux vs. Mac OS newlines
26:59Back to OutputDebugStringA
26:59Back to OutputDebugStringA
26:59Back to OutputDebugStringA
28:15ASCII to Unicode
28:15ASCII to Unicode
28:15ASCII to Unicode
30:18The consequences of that move: C Error Messages
30:18The consequences of that move: C Error Messages
30:18The consequences of that move: C Error Messages
30:55A glimpse into the seedy Macro underbelly of the Win32 API
30:55A glimpse into the seedy Macro underbelly of the Win32 API
30:55A glimpse into the seedy Macro underbelly of the Win32 API
32:50Note: Unicode is default in VS
32:50Note: Unicode is default in VS
32:50Note: Unicode is default in VS
34:04Let's talk about variables
34:04Let's talk about variables
34:04Let's talk about variables
35:11Which means we should talk about CPUs and memory
35:11Which means we should talk about CPUs and memory
35:11Which means we should talk about CPUs and memory
36:12Asking for memory (declaring vars)
36:12Asking for memory (declaring vars)
36:12Asking for memory (declaring vars)
37:15Neat learning anecdote (what does = mean?)
37:15Neat learning anecdote (what does = mean?)
37:15Neat learning anecdote (what does = mean?)
40:10What is a variable *really*? (Let's 'watch' it)
40:10What is a variable *really*? (Let's 'watch' it)
40:10What is a variable *really*? (Let's 'watch' it)
41:20Uninitialized memory can be anything
41:20Uninitialized memory can be anything
41:20Uninitialized memory can be anything
43:15Debug 'Stepping' (running a program line by line)
43:15Debug 'Stepping' (running a program line by line)
43:15Debug 'Stepping' (running a program line by line)
44:23Programming doesn't have to be math-y (int x = 5; covers a lot)
44:23Programming doesn't have to be math-y (int x = 5; covers a lot)
44:23Programming doesn't have to be math-y (int x = 5; covers a lot)
45:25Different types of numbers in C (char, short, int, signed-ness)
45:25Different types of numbers in C (char, short, int, signed-ness)
45:25Different types of numbers in C (char, short, int, signed-ness)
46:24A bit of binary o.o
46:24A bit of binary o.o
46:24A bit of binary o.o
49:30char == 8 bits
49:30char == 8 bits
49:30char == 8 bits
49:37How can you tell how much you can hold with 8 bits?
49:37How can you tell how much you can hold with 8 bits?
49:37How can you tell how much you can hold with 8 bits?
52:17Signed-ness
52:17Signed-ness
52:17Signed-ness
54:06The rest of the int family (short, int)
54:06The rest of the int family (short, int)
54:06The rest of the int family (short, int)
55:56VS tip: F5 to start debug, Shift-F5 to stop
55:56VS tip: F5 to start debug, Shift-F5 to stop
55:56VS tip: F5 to start debug, Shift-F5 to stop
56:14Math consequences of number size limits (overflows)
56:14Math consequences of number size limits (overflows)
56:14Math consequences of number size limits (overflows)
59:02Okay. What is *actually* happening when we run programs?
59:02Okay. What is *actually* happening when we run programs?
59:02Okay. What is *actually* happening when we run programs?
59:37Assembly
59:37Assembly
59:37Assembly
1:01:15The registers window
1:01:15The registers window
1:01:15The registers window
1:02:00What registers are
1:02:00What registers are
1:02:00What registers are
1:03:32Memory addresses
1:03:32Memory addresses
1:03:32Memory addresses
1:04:56The MOV instruction
1:04:56The MOV instruction
1:04:56The MOV instruction
1:06:08Hex
1:06:08Hex
1:06:08Hex
1:07:28VS Tip: hover over hex in assembly to see its decimal value
1:07:28VS Tip: hover over hex in assembly to see its decimal value
1:07:28VS Tip: hover over hex in assembly to see its decimal value
1:09:09Watching the assembly work in the watch window
1:09:09Watching the assembly work in the watch window
1:09:09Watching the assembly work in the watch window
1:10:58The size of eax vs. the size of a char
1:10:58The size of eax vs. the size of a char
1:10:58The size of eax vs. the size of a char
1:14:09The moral: The Asm matches the C. You can read this
1:14:09The moral: The Asm matches the C. You can read this
1:14:09The moral: The Asm matches the C. You can read this
1:15:23The moral: How things really work is worth knowing
1:15:23The moral: How things really work is worth knowing
1:15:23The moral: How things really work is worth knowing