libreplanet-br-sp
[Top][All Lists]
Advanced

[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/

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]