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