Como ainda não foi convencionado com contribuir.
From 9c313e5e12d60bd14414924932b2f3b84ad06d42 Mon Sep 17 00:00:00 2001
From: Raniere Silva <[email protected]>
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 <<EOF} \\
+                \code{foo} \\
+                \code{bar} \\
+                \code{EOF}
+            \end{shell}
+      \end{itemize}
+  \end{itemize}
 
 
 
 \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}
   \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

Attachment: pgpVyP5OkG1BX.pgp
Description: PGP signature

Responder a