After working through these videos, you are ready to start working on half of Assignment 1: Assembler, Valgrind and GDB, Inlining, and Writing to and reading from HDD and SSD.
Video:
Generate and Read Assembler Code.
Code:
main.c
,
makefile
.
Video:
If Statements.
Code:
if.c
,
makefile
.
Video:
Integer Operations.
Code:
int.c
,
makefile
.
Video:
Floating Point Operations.
Code:
float.c
,
makefile
.
Video:
Function Calls.
Code:
call.c
,
makefile
.
Note: In this video, the assembler code for the function dummy does not decrement the stack point, while the function still uses stack memory. This is an exception to the rule that only memory higher than the stack point will be accessed. It is enabled by the function dummy not calling into any further functions.
Video:
Naive Benchmarking.
Code:
naive_bench.c
,
makefile
.
Video:
hyperfine.
Code:
hyperfine_bench.c
,
hyperfine_bench.sh
,
makefile
.
Optional video:
Celero.
Code:
celero_bench.cc
,
makefile
.
Video:
Compiler Options.
Code:
compiler_options.c
,
makefile
.
Video:
Inlining.
Code:
inline.c
,
inline_extra.c
,
makefile
.
Video:
Compilation Units.
Code:
compilation_unit_0.c
,
compilation_unit_1.c
,
compilation_unit_2.c
.
Video:
Include and Define Statements.
Code:
included_constants_definition.c
,
included_constants_definition.h
,
included_constants_static.c
,
included_constants_static_print.c
,
included_constants_static.h
,
included_inline.c
,
included_inline.h
,
included_declaration.c
,
included_declaration_definition.c
,
included_declaration.h
,
included_declaration_auxiliary.h
,
makefile
.