Programar em C/Pré-requisitos: diferenças entre revisões

[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
Edudobay (discussão | contribs)
Sem resumo de edição
Linha 1:
Para programar em C, você precisa apenas de um editor de textos e um compilador.
== Onde é que posso arranjar um compilador ==
 
== Compilador ==
O C é uma linguagem de programação, o que significa que podemos criar instruções para o computador seguir.
Para criarmos as instruções vamos criar linhas de código ou linguagem que é em c, que depois vão ser traduzidas em linguagem binária por forma a poderem ser executadas pelo computador. Para isso eu vou precisar de um compilador. Os compiladores dependem do sistema operativo, portanto:
 
O código em linguagem C consiste em instruções que o computador deverá seguir. O compilador realiza o trabalho de traduzir essas instruções para linguagem de máquina, de forma a poderem ser executadas pelo computador.
 
=== Onde é que posso arranjarObtendo um compilador ===
'''Para o WINDOWS/ DOS temos:'''
*'''Dev C++''' do Bloodshed (linguagem fácil e ótimo para a didatica - tem multilanguage em Portugues do Brasil)
(este é um compilador, mas que tem estética, ou seja não é daqueles compiladores rudes, tem um aspecto Windows, por isso para as funções basta-nos clicar em botões em vez de andar a escrever outro código. utilizei este para este trabalho. Primeiro quero aprender a programar em c e depois vejo a linguagem de compilação mais tarde, uma coisa de cada vez!!)
 
Existem diversos compiladores disponíveis:
*'''Borland'''
(é um compilador por comando, é o tal que para usarmos o compilador temos de saber os comandos. prefiro deixar isso para mais tarde, primeiro c depois os comandos de compilação).
 
==== Para Windows ou DOS ====
*'''DJGPP'''
(é baseado em DOS).
 
* '''mingw32''': porte do ''gcc'' para Windows. É o compilador incluído com o '''Dev-C++''', da Bloodshed. O Dev-C++ é um IDE (sigla em inglês para Ambiente Integrado de Desenvolvimento) que facilita a edição e compilação de programas. Tem tradução para Português do Brasil.
*'''Microsoft Visual C++'''
 
* '''Borland C++''': a Borland disponibilizou um compilador gratuito que funciona em linha de comando, como alternativa ao IDE comercial.
 
* '''DJGPP''': porte do ''gcc'' para DOS. Também funciona no Windows, mas se o objetivo for rodar no Windows, recomenda-se o uso do ''mingw'', que pode usufruir de todos os recursos do Windows.
'''Para Linux/Unix temos:'''
*'''gcc'''
 
* '''Microsoft Visual C++''': compilador comercial da Microsoft, que também tem um IDE. O Framework .NET, gratuito, também inclui o compilador (em linha de comando) do Visual C++.
== COMO FUNCIONA ==
 
'''==== Para Linux/Unix temos:'''====
 
Em primeiro lugar, vamos escrever um código em linguagem C e vamos gravar esse código todo num ficheiro. Esse ficheiro fica com a terminação “.c”. chama-se a este conjunto de linhas que escrevemos como SOURCE CODE (pode ter a terminação “.c”, “.cpp”, e “.cc”). Depois vamos traduzir esse código em linguagem c para a linguagem binária, por forma a que o código se transforme num executável, tem a terminação “.exe”. Só assim é que o sistema operativo reconhece o programa como independente. Nós aqui podemos dizer, mas o ficheiro em “.c”, ele já está na forma binária, portanto o que estás a falar!!! Ok. Repare que o computador funciona em modo binário (“passa energia ou não passa energia”) e temos um relógio e a partir daqui construímos tudo. Aquilo que chamamos informação, que o computador trabalha em informação não passa de uma interpretação. Nós vemos aquilo de uma maneira e damos significado. Por isso, apesar do ficheiro em “.c” estar na linguagem binária precisamos de o tratar de forma que o sistema operativo o consiga interpretar. Mas se quisermos saber o processo de compilação aglomera várias etapas:
* '''gcc''': é o compilador oficial do sistema GNU/Linux, de código aberto. Costuma vir instalado na maioria das distribuições Linux.
 
=== Etapas da compilação ===
 
Todo o código em linguagem C que escrevermos deve ser salvo em um ficheiro com a extensão ".c". O compilador lê todo o código e cria um arquivo executável, em linguagem de máquina. No Windows, os arquivos executáveis são aqueles com extensão ".exe". No Linux, os executáveis são simplesmente arquivos com o atributo "executável".
 
O processo que chamamos de compilação na verdade é um conjunto de etapas:
 
* o '''preprocessamento''', etapa em que o preprocessador (programa às vezes acoplado ao compilador) lê o código-fonte e faz algumas substituições para que o programa possa ser compilado. Em C, o preprocessador tem diversos usos: compilação condicional (por exemplo, usar trechos diferentes do código para sistemas operacionais diferentes), macros, substituição de símbolos e inclusão de arquivos externos.
 
* a '''compilação''' propriamente dita, que transforma o código preprocessado em um ''programa-objeto'', que está em linguagem de máquina porém não pronto para ser executado.
 
* a '''ligação''' (''linking'', em inglês) dos programas-objeto e bibliotecas necessárias em um único executável. Em C, pode-se distribuir um programa em vários arquivos-fonte, o que ajuda na organização e permite compilar apenas a parte do programa correspondente quando é necessário realizar alguma mudança.
 
Após a ligação dos programas-objeto, o programa já estará pronto para ser executado.
 
== Editor ==
 
Para editar o código de um programa, tudo de que você precisa é um editor de textos. Qualquer editor serve, mesmo um muito simples como o Bloco de Notas do Windows.
 
No entanto, há vários editores que apresentam recursos que facilitam a edição de programas: destaque/coloração de sintaxe, completação de código, formatação (indentação) automática, ajuda integrada, comandos integrados para compilar etc. Entre eles podemos destacar o [[Vim]] e o Emacs, ambos com versões para Windows, Linux e Mac OS.
 
== Links externos ==
 
* [http://www.bloodshed.net/dev/devcpp.html Dev-C++]: página para download do Dev-C++.
* [http://www.delorie.com/djgpp/ DJGPP]: página oficial, com informações e links para download.
 
Temos a compilação, o linking. O processo de pegar o source code e transforma-lo num executável chama-se buid.
O linking é após a compilação ligar esses objectos todos que estão em linguagem binária.
Uma das vantagens do c é que usufrue de uma estrutura multi-file. a linguagem permite compilação separada, onde partes do programa total podem estar numa ou mais source files e estes podem ser compilados independentemente de cada um. A ideia é que o processo de compilação produz files que depois podem ser linked together usando um editor de link ou loades que o sistema provém.
<p>&nbsp;</p>
----
: