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