[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lp-br-sp] Patch para aula de compilação
From: |
Sergio Durigan Junior |
Subject: |
Re: [lp-br-sp] Patch para aula de compilação |
Date: |
Mon, 09 Mar 2015 13:08:59 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux) |
On Monday, March 09 2015, Raniere Silva wrote:
> 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}, ...
IMHO o rationale de colocar uma flag nessa lista de exemplos é: "Você
consegue explicá-la de maneira simples pros bixos?". Você consegue? Se
sim, então não tenho problemas com esse hunk :-).
> \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 <<EOF} \\
> + \code{foo} \\
> + \code{bar} \\
> + \code{EOF}
> + \end{shell}
Definitivamente não concordo em citar "here document".
> + \end{itemize}
> + \end{itemize}
Acho que dá pra mencionar ">" e "<". O resto, acho melhor cobrir na
aula de shell.
>
>
>
> \end{frame}
>
>
> -\begin{frame}{Hello World!}
> +\begin{frame}{Hello World! -- Exercício}
> \begin{center}
> - Exercício - Escrever, compilar e executar um programa simples no
> GNU/Linux.
> -
> -
> -%% \begin{shell}[0.9]
> -%% \code{\#include <stdio.h>}\\
> -%% \\
> -%% \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 <stdio.h>}\\
> + \\
> + \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}
s/básicas/úteis
> \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}
Não concordo em colocar esse último frame.
> +
> \begin{frame}{Contato}
> \begin{center}
> \includegraphics[width=0.5\textwidth]{../imagens/lp-br-sp.png}
> --
> 2.3.1
>
--
Sergio
GPG key ID: 0x65FC5E36
Please send encrypted e-mail if possible
http://sergiodj.net/
signature.asc
Description: PGP signature