@@ -17,38 +17,44 @@ \section{Compilation}
17
17
\end {frame }
18
18
19
19
\begin {frame }[fragile]{Preprocessing}
20
- \begin {itemize }
21
- \item Transforms lines starting with \mintinline {cpp}{#}
22
- \item Mostly used to \mintinline {cpp}{#include} files
23
- \item Another common usage are \mintinline {cpp}{#include} guards
24
- \item Can also be used to \mintinline {cpp}{#define} macros
25
- \end {itemize }
20
+ \begin {block }{The preprocessor\ldots }
21
+
10000
\begin {itemize }
22
+ \item Transforms lines starting with \mintinline {cpp}{#}
23
+ \item Is mostly used to \mintinline {cpp}{#include} files
24
+ \item Can also be used to \mintinline {cpp}{#define} macros
25
+ \end {itemize }
26
+ \end {block }
26
27
\end {frame }
27
28
28
29
\begin {frame }{Compilation}
29
- \begin {itemize }
30
- \item Transforms code to machine code
31
- \item Itself composed of multiple steps:
32
- \begin {enumerate }
33
- \item Parsing and type checking
34
- \item Non\hyp {}specific optimisation
35
- (e.g.\ dead code elimination)
36
- \item CPU\hyp {}specific optimisation
37
- (e.g.\ instruction scheduling)
38
- \end {enumerate }
39
- \end {itemize }
30
+ \begin {block }{The compiler\ldots }
31
+ \begin {itemize }
32
+ \item Transforms code to machine code
33
+ \item Performs a series of steps:
34
+ \begin {enumerate }
35
+ \item Parsing and type checking
36
+ \item Non\hyp {}specific optimisation
37
+ (e.g.\ dead code elimination)
38
+ \item CPU\hyp {}specific optimisation
39
+ (e.g.\ instruction scheduling)
40
+ \end {enumerate }
41
+ \end {itemize }
42
+ \end {block }
40
43
\end {frame }
41
44
42
45
\begin {frame }{Linking}
43
- \begin {itemize }
44
- \item Combines multiple files into a final executable
45
- \item Organises a program's address space (e.g.\ through relocation)
46
- \item Two main strategies:
47
- \begin {description }
48
- \item [Dynamic] (Some) libraries are loaded at runtime
49
- \item [Static] All libraries are included
50
- \end {description }
51
- \end {itemize }
46
+ \begin {block }{The linker\ldots }
47
+ \begin {itemize }
48
+ \item Combines multiple files into a final executable
49
+ \item Organises a program's address space (e.g.\ through relocation)
50
+ \item Uses two main strategies:
51
+ \begin {description }
52
+ \item [Dynamic] (Some) libraries are loaded at runtime
53
+ \item [Static] All libraries are included in the
54
+ executable
55
+ \end {description }
56
+ \end {itemize }
57
+ \end {block }
52
58
\end {frame }
53
59
54
60
\section {Debugging }
0 commit comments