8000 Minor changes to compilation and debugging slides · estimand/intro-to-cpp@2acaff7 · GitHub
[go: up one dir, main page]

Skip to content

Commit 2acaff7

Browse files
committed
Minor changes to compilation and debugging slides
1 parent be54c5f commit 2acaff7

File tree

2 files changed

+32
-26
lines changed

2 files changed

+32
-26
lines changed
Binary file not shown.

05_compilation_and_debugging/slides/compilation_and_debugging.tex

Lines changed: 32 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -17,38 +17,44 @@ \section{Compilation}
1717
\end{frame}
1818

1919
\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}
2627
\end{frame}
2728

2829
\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}
4043
\end{frame}
4144

4245
\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}
5258
\end{frame}
5359

5460
\section{Debugging}

0 commit comments

Comments
 (0)
0