[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:44:54 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux) |
On Monday, March 09 2015, Raniere Silva wrote:
>> > @@ -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 :-).
>
> Eu adicionei o -c para poder utilizá-lo no final.
No final?
>> > - \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".
>
> Algum motivo em especial exceto cobrir na aula de shell?
Nem sei se rola cobrir isso na aula de shell.
O motivo é "o mesmo de sempre": essa parte é mais avançada, pode causar
dúvidas, e definitivamente não é algo que eles precisam saber pra
"compilar um programa", que é o objetivo da aula.
>> > +\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.
>
> Algum motivo?
Mesma coisa, com o agravante de que, IMNSHO, falar de "objdump" e "nm" é
extremamente desnecessário e confuso pra eles. A não ser que você tenha
uma explicação super fácil e legal sobre o que o "objdump" faz :-).
Essa aula é uma aula *básica* de compilação; eventualmente, o grupo
poderia fazer uma aula *avançada* de conceitos, no segundo ou terceiros
semestres, na qual poderíamos explicar melhor essas coisas aí de cima.
Na verdade, a gente já teve essa idéia dezenas de vezes, mas nunca
levamos pra frente.
--
Sergio
GPG key ID: 0x65FC5E36
Please send encrypted e-mail if possible
http://sergiodj.net/
signature.asc
Description: PGP signature