From 9c313e5e12d60bd14414924932b2f3b84ad06d42 Mon Sep 17 00:00:00 2001
From: Raniere Silva
Date: Mon, 9 Mar 2015 11:59:50 -0300
Subject: [PATCH] =?UTF-8?q?Melhorado=20slides=20de=20compila=C3=A7=C3=A3o?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
bixos/compilacao.tex | 75 ++++++++++++++++++++++++++++++++++++----------------
1 file changed, 52 insertions(+), 23 deletions(-)
diff --git a/bixos/compilacao.tex b/bixos/compilacao.tex
index cc4eeaf..b44d117 100644
--- a/bixos/compilacao.tex
+++ b/bixos/compilacao.tex
@@ -84,40 +84,60 @@
\item \texttt{-o meu\_programa} : Informa o nome do arquivo de saída.
\item \texttt{-Wall} : Ativa todos os Warnings do compilador.
\item \texttt{-Werror} : Transforma os Warnings em erros.
- \item Existem diversas outras flags úteis: \texttt{-g}, \texttt{-O3}, \texttt{-pedantic}, ...
+ \item Existem diversas outras flags úteis: \texttt{-c}, \texttt{-g}, \texttt{-O3}, \texttt{-pedantic}, ...
\end{itemize}
\end{itemize}
+\end{frame}
- \begin{itemize}
- \item Executando seu programa:
- \end{itemize}
- \begin{shell}[0.9]
- \usercmd{./meu\_prog}
+
+\begin{frame}{Executando o código que compilou}
+
+ \begin{shell}[0.9]
+ \usercmd{./meu\_prog [parametros] [io]}
\end{shell}
+ \begin{itemize}
+ \item parâmetros para o seu programa.
+ \item io:
+ \begin{itemize}
+ \item \texttt{<} : entrada
+ \item \texttt{>} : saída
+ \item \texttt{>>} : saída (\textbf{incrementa})
+ \item ``Here document'':
+ \begin{shell}[0.9]
+ \usercmd{./meu\_prog <}\\
-%% \\
-%% \code{int}\\
-%% \code{main ()}\\
-%% \code{\{}\\
-%% \end{shell}
-%% \begin{shell}[0.8]
-%% \usercmd{./meu\_prog > output.txt}
-%% \end{shell}
+ Escrever, compilar e executar um programa simples no GNU/Linux.
\end{center}
\end{frame}
+\begin{frame}{Hello World! -- Solução}
+ \begin{shell}[0.9]
+ \usercmd{cat meu\_prog.c} \\
+ \code{\#include }\\
+ \\
+ \code{int}\\
+ \code{main ()}\\
+ \code{\{}\\
+ \code{ printf(``Hello world!'');}\\
+ \code{ return 0;}\\
+ \code{\}}\\
+ \usercmd{./meu\_prog > saida.txt}
+ \end{shell}
+\end{frame}
+
\begin{frame}{Comparando a saída}
\begin{itemize}
\item {diff - Compara dois arquivos de entrada.}
@@ -140,12 +160,10 @@
\end{itemize}
\end{frame}
-\begin{frame}{Aulas de GNU/Linux úteis}
+\begin{frame}{Dicas básicas}
\begin{itemize}
\item A tecla Tab auto-completa nome de programas, caminho para arquivos,
etc.
-% \item Para rodar um comando em modo de super-usuário, utilize o comando
-% \emph{sudo}
\item Existe também o comando \emph{man}. Ele recebe o nome de um comando/função/etc.
como argumento e exibe o seu manual.
\item Outra convenção muito útil é implementar textos de ajuda e de versão.
@@ -163,6 +181,17 @@
\end{center}
\end{frame}
+\begin{frame}{Dicas avançadas}
+ \begin{itemize}
+ \item \texttt{gdb} é seu amigo para as horas difíceis.
+ \item binutils possui ferramentas úteis:
+ \begin{itemize}
+ \item \texttt{nm}: lista símbolos nos objetos.
+ \item \texttt{objdump}: mostra informações dos objetos.
+ \end{itemize}
+ \end{itemize}
+\end{frame}
+
\begin{frame}{Contato}
\begin{center}
\includegraphics[width=0.5\textwidth]{../imagens/lp-br-sp.png}
--
2.3.1