Commit 33675037 authored by Jomaro Rodrigues's avatar Jomaro Rodrigues

Closes #13

parent 1d4e3f0d
......@@ -65,7 +65,7 @@
\subfile{bibliotecas.tex}
%\subfile{compilacao.tex}
\subfile{compilacao.tex}
%\subfile{modulos.tex}
......
......@@ -2,57 +2,52 @@
\begin{document}
GCC - Compilação em Linux
\chapter{GCC - Compilação em Linux}
O gcc é um compilador C padrão para Linux, desenvolvido pela GNU, um grupo de desenvolvimento de
software para Linux. Sua sintaxe é:
\begin{verbatim}
gcc [opções] arquivo [arq1 arq2 ...]
Onde arquivo é o arquivo fonte ou objeto. Al'em do primeiro arquivo, 'e possível relacionar outros
\end{verbatim}
Onde arquivo é o arquivo fonte ou objeto. Além do primeiro arquivo, é possível relacionar outros
arquivos que deverão ser compilados e reunidos em um só arquivo executável.
As opções são par^ametros facultativos que alteram o comportamento do gcc. Segue abaixo uma lista
As opções são parâmetros facultativos que alteram o comportamento do gcc. Segue abaixo uma lista
da opções mais comuns:
ffl -c : apenas compila e gera um arquivo objeto (nome de saída padrão é arquivo.o);
ffl -o !nomearq? : especifica que o nome do arquivo de saída será nomearq;
ffl -g : gera informação de "debug", usado por programas de depura,c~ao (ex.: gdb);
ffl -l!lib? : especifica o arquivo objeto das bibliotecas que deverão ser incluídas no processo de
\begin{description}
\item[-c] apenas compila e gera um arquivo objeto (nome de saída padrão é arquivo.o);
\item[-o <nomearq>] : especifica que o nome do arquivo de saída será nomearq;
\item[-g] gera informação de "debug", usado por programas de depuração (ex.: gdb);
\item[-l<lib>] especifica o arquivo objeto das bibliotecas que deverão ser incluídas no processo de
compilação.
\end{description}
'
ê importante observar que a maioria das bibliotecas padrão n~ao precisam ser especificadas através da
É importante observar que a maioria das bibliotecas padrão não precisam ser especificadas através da
opção -l (ex.: stdlib, stdio, string, etc).
êm dúvida, uma consulta do man sobre o comando de uma determinada biblioteca pode ajudar a
êncontrar a biblioteca que deve ser incluída.
Em dúvida, uma consulta do man sobre o comando de uma determinada biblioteca pode ajudar a
encontrar a biblioteca que deve ser incluída.
Todas as bibliotecas C em linux iniciam com o nome lib, que não deve ser usado na especificaç~ao por
Todas as bibliotecas C em linux iniciam com o nome lib, que não deve ser usado na especificação por
-l, ou seja, apenas a string remanescente (sem lib) deve ser usada.
Por exemplo, o arquivo objeto da biblioteca de funções matemáticas, cujo header é math.h chama-se
libm. Então, para compilar um programa que inclui a math.h basta inserir a opç~ao -lm para incluir a
libm. Então, para compilar um programa que inclui a math.h basta inserir a opção -lm para incluir a
libm. No linux, geralmente as bibliotecas estão no diretório /usr/lib.
êxemplo:
Suponha que voc^e tenha uma arquivo fonte de nome matriz.c que utiliza a biblioteca math.c, que não
Exemplo:
Suponha que você tenha uma arquivo fonte de nome matriz.c que utiliza a biblioteca math.c, que não
é padrão, e quer gerar um executável de nome matriz. A linha de comando que realiza exatamente o
desejado é:
\begin{verbatim}
gcc -o matriz -lm matriz.c
Onde -o matriz especifica o arquivo de saída, -lm especifica que a biblioteca libm deverá ser inclu'ida
ê matriz.c é o nome do arquivo fonte.
81
82 AP
^
êNDICE C. GCC - COMPILAC,
\end{verbatim}
~
AO EM LINUX
Onde -o matriz especifica o arquivo de saída, -lm especifica que a biblioteca libm deverá ser incluída
e matriz.c é o nome do arquivo fonte.
\end{document}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment