diff --git a/复习资料/A.pdf b/复习资料/A.pdf index b523c99..0cd72be 100644 Binary files a/复习资料/A.pdf and b/复习资料/A.pdf differ diff --git a/复习资料/A.tex b/复习资料/A.tex index 0492f63..f547e0e 100644 --- a/复习资料/A.tex +++ b/复习资料/A.tex @@ -274,9 +274,10 @@ frac \(\ne 00\dots0\) 表示 NaN \end{tabular} \end{table} -\vspace{-3em} +\vspace{-2em} \section{链接} +\vspace{-1em} \subsection{符号表 (.symtab)} \vspace{-1em} \begin{table}[h] @@ -284,29 +285,28 @@ frac \(\ne 00\dots0\) 表示 NaN \hline C语言表示 & 类型 & 符号强度 & 节 & 说明\\ \hline \texttt{void swap();} & 全局 & 强 & \texttt{.text} & 非静态函数 \\ \hline - \texttt{int a = 0;} & 全局 & 强 & \texttt{.bss} & 初始化为 0 的全局变量 \\ \hline \texttt{int *bufp0 = \&buf[0]} & 全局 & 强 & \texttt{.data} & 初始化为其他值的全局变量\\ \hline + \texttt{int a = 0;} & 全局 & 强 & \texttt{.bss} & 初始化为 0 的全局变量 \\ \hline \texttt{int *bufp1;} & 全局 & 弱 & \texttt{COMMON} & 未初始化的全局变量 \\ \hline \texttt{extern int buf[];} & 外部 & --- & \texttt{UNDEF} & \makecell[l]{ 未解析的引用符号 \\ 位于实际定义所在位置 } \\ \hline - \begin{lstlisting}[language=C,gobble=8] - void p() { - static int i; - static int j = 0; } - \end{lstlisting} - & 局部 & --- & \texttt{.bss} & \makecell[l]{未初始化的静态局部变量 \\ 初始化为 0 的静态局部变量} \\ \hline \begin{lstlisting}[language=C,gobble=8] void p() { static int i = 1; } \end{lstlisting} & 局部 & --- & \texttt{.data} & 初始化为其他值的静态局部变量 \\ \hline \begin{lstlisting}[language=C,gobble=8] - void q() { + void p() { static int i; + static int j = 0; } + \end{lstlisting} + & 局部 & --- & \texttt{.bss} & \makecell[l]{未初始化的静态局部变量 \\ 初始化为 0 的静态局部变量} \\ \hline + \begin{lstlisting}[language=C,gobble=8] + static void q() { int j = 2; } \end{lstlisting} - & 都不是 & --- & 在栈上 & 链接不涉及非静态局部变量 \\ \hline + & --- & --- & --- & \makecell[l]{链接不涉及静态函数\\链接不涉及非静态局部变量} \\ \hline \end{tabular} \end{table} \vspace{-2em}